嘿,我试图让文本ASCII,然后将其存储在服务器上,那么当我拿回来,我想文本解码回的NSString,因为它是
我用过的下面的代码来测试随机应用程序..但在这里我有NSdata作为一个全局变量,所以它工作正常..
问题是我如何获得值NSString我从服务器中获取NSData变量,所以我可以将其转换回我编码的文本。
.h
@interface passTestViewController : UIViewController
{
NSString *text;
NSData *d;
}
.M
- (IBAction)eButton:(id)sender {
text = [NSString stringWithFormat:@"%@%@%@",@"!",[_textField text],@"!"];
d=[[NSString stringWithFormat:@"%@",text] dataUsingEncoding:NSASCIIStringEncoding];
text = [NSString stringWithFormat:@"%@",d];
[_label setText:text];
}
- (IBAction)dButton:(id)sender {
NSString *dString = [[NSString alloc] initWithData:d encoding:NSASCIIStringEncoding];
dString = [dString stringByReplacingOccurrencesOfString:@"!" withString:@""];
[_label setText:dString];
}
我需要得到它的NSData。我把它发送到我的服务器通JSON,再后来当我拿回来......我把它作为一个字符串...我需要的是
NSData *d = stringThatIGetBackFromJson;
这样我就可以把它转换直通
NSString *dString = [[NSString alloc] initWithData:d encoding:NSASCIIStringEncoding];
获取用户输入的原始字符串。
而且字符串我从这个获得编码后有符号和空格..'<“>”和“” 它不会去通到url所以我所做的就是删除空格和<>直通
myString = [myString stringByReplacingOccurrencesOfString:@" " withString:@""];
myString = [myString stringByReplacingOccurrencesOfString:@"<" withString:@""];
myString = [myString stringByReplacingOccurrencesOfString:@">" withString:@""];
所以现在我会回来是要去成为像“40786d61646f6f2131323334216b6d646f616f”号......反正是有解决这个? 来比较我只是检查编码的文本,并遵循相同的步骤,然后比较如果isEqualTo,但我想回到文本能够张贴在应用程序。
恐怕你绝望地困惑。你显然不明白“编码”只适用于8位数据 - 一旦一个字符串在NSString中,它就是Unicode。你也不明白,如果你转储(或用'%@'格式化)一个NSData对象,你会看到十六进制,而不是字符数据。***任何*** NSData对象都是如此。 (上面的十六进制是“@xmadoo!1234!kmdoao”) –
所以我可以使用正常的十六进制字符串转换器将其转换回来..例如:http://stackoverflow.com/questions/6421282/how-to- convert-hex-to-nsstring-in-objective-c。有没有一种方法可以作为数据发送......?或任何其他选项进行加密? thnx和sry用于最近的回复.. –
使用NSString initWithData ...您应该使用原来用于生成数据的相同字符串编码,但UTF8应该可以在几乎所有情况下使用。 –