【问题标题】:Turning escaped unicode char[] into NSString将转义的 unicode char[] 转换为 NSString
【发布时间】:2013-02-06 08:29:02
【问题描述】:

我有以下char[] str = "\xe7a"

这是将“ça”转换为使用 python .encode('unicode-escape') 转义的 unicode 的结果

当它进入 iOS 时,我正在尝试再次将其转换为“ça”...但我找不到正确的方法。

如何使用 iOS 函数将 \x 转义字符转换为正确的字符?

str = [[NSString alloc] initWithBytes:m.param5 length:STRING_PARAM_LENGTH encoding:NSASCIIStringEncoding] UTF8String];

没用

str = [[NSString alloc] initWithBytes:m.param5 length:STRING_PARAM_LENGTH NSUTF8StringEncoding];

没用

str = [NSString stringWithUTF8String:m.param5];

效果不好

有什么想法吗?

【问题讨论】:

  • 可以考虑CFStringTransform。检查THIS

标签: ios unicode utf-8 nsstring


【解决方案1】:

假设 \xe7 表示字节 0xe7,则 char 数组编码为 Windows-1252/ISO-8859-1... 所以:

NSString *string = [NSString stringWithCString:str encoding:NSISOLatin1StringEncoding];

如果内容实际上是反斜杠xe7,则需要将其转换为真正的隐含字节值 在运行上述代码之前

【讨论】:

  • 嗨!感谢您的回复。我如何将 \xe7 变成之前真正的隐含字节?
猜你喜欢
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多