2013-02-06 66 views
0

我有以下char[] str = "\xe7a";轉義逃生unicode字符[]到NSString

這是具有轉換「CA」成Unicode與蟒蛇逃出結果.encode('unicode-escape')

當它到達IOS我試圖將其轉換爲「CA」再次...但我無法找到正確的方法來做到這一點。

如何使用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]; 

不起作用以及

任何想法?

+0

您可以考慮CFStringTransform。 檢查[THIS](http://stackoverflow.com/questions/2099349/using-objective-c-cocoa-to-unescape-unicode-characters-ie-u1234/11615076#11615076) –

回答

2

假設\xe7指字節0xe7,char數組被編碼爲視窗-1252/ISO-8859-1 ...這樣:

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

如果內容是從字面上反斜槓,xe,和7,則需要在運行上述代碼之前將其轉換爲實際隱含字節值

+1

嗨!感謝您的回覆。如何將\ xe7轉換爲真實的隱含字節? –