0

私は次のものを持っていますchar[] str = "\xe7a";

「ça」をpythonでエスケープしたユニコードに変換した結果がこれ.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

\xe7byte を意味すると仮定すると0xe7、 char 配列は Windows-1252/ISO-8859-1 としてエンコードされます...そう:

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

内容が文字どおりバックスラッシュ、、、xおよびe7ある場合、上記のコードを実行する前に、それを実際の暗黙のバイト値に変換する必要があります。

于 2013-02-06T10:04:47.573 に答える