与ASCII表示的UTF8编码十六进制值
问题描述:
我有个字节的NSData:0017c572 528E 现在我需要用ASCII 的任UTF 8这个字节来编码为此,我已经使用以下的目标C代码与ASCII表示的UTF8编码十六进制值
NSString *Str = [[NSString alloc] initWithData:value encoding:NSUTF8StringEncoding];
再后来就在某些时候我需要从海峡得到相同的字节为了这个,我已经使用
NSData *aData = [Str dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"aData:%@", aData);
现在的问题是威刚的内容为空不0017c572 528E。我怎么做这个操作。
这一概念完美地工作,如果一个数据字节:323332
str = 232
aData = 323332
答
行
NSLog(@"Str = %@",Str);
NSData *aData = [Str dataUsingEncoding:NSUTF8StringEncoding];
看来Str
变量没有任何值之前就打印Str
值。那么只会返回null
。请检查。
你需要分别解决零字节,零是字符串终止符,所以你必须以某种方式对它进行编码,或将它存储在可以处理数据中的零的东西。 – tripleee 2012-01-04 07:46:27