2012-01-04 45 views
0

我有个字节的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 
+0

你需要分别解决零字节,零是字符串终止符,所以你必须以某种方式对它进行编码,或将它存储在可以处理数据中的零的东西。 – tripleee 2012-01-04 07:46:27

回答

0

NSLog(@"Str = %@",Str); 
    NSData *aData = [Str dataUsingEncoding:NSUTF8StringEncoding]; 

看来Str变量没有任何值之前就打印Str值。那么只会返回null。请检查。