0

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

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

当它进入 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];

也不行

有任何想法吗?

4

1 回答 1

2

假设\xe7是 byte 0xe7,则 char 数组被编码为 Windows-1252/ISO-8859-1... 所以:

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

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

于 2013-02-06T10:04:47.573 回答