【问题标题】:Encoding hex value with UTF8 of Ascii representation使用 Ascii 表示的 UTF8 编码十六进制值
【发布时间】:2012-01-04 15:09:38
【问题描述】:

我有一个字节数为 :0017c572 528e 的 nsdata 现在我需要使用 UTF 8 的 Ascii 来编码这个字节 为此,我在 Objective C 中使用了以下代码

 NSString *Str = [[NSString alloc] initWithData:value encoding:NSUTF8StringEncoding];

然后在某个时候,我需要从 Str 取回相同的字节,因为我已经使用过

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

现在的问题是 aData 的内容是 null 而不是 0017c572 528e 。我该怎么做这个操作。

如果数据字节为:323332,则此概念非常有效

str = 232
aData = 323332

【问题讨论】:

  • 您需要分别处理零字节,零是字符串终止符,因此您必须以某种方式对其进行编码,或者将其存储在可以处理数据中零的东西中。

标签: iphone objective-c xcode utf-8 asciiencoding


【解决方案1】:

只需在行前打印Str

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

似乎Str 变量没有任何值。只有这样,它才会返回null。请检查。

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 1970-01-01
    • 2016-03-05
    • 2013-10-02
    • 2018-08-12
    • 2013-06-10
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多