将转义的unicode char []转换为NSString

时间:2013-02-06 08:29:02

标签: ios unicode utf-8 nsstring

我有以下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];

不起作用

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

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

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