对于我的应用程序,我希望能够使用像\ n这样的unicode字符,以及这些字符: http://www.easyapns.com/category/just-for-fun
文本存储在sqlite3数据库中,当我读取它时,我得到的文本是\ ue415而不是笑脸。我既没有换行符,也有一个\ n。
我可以使用这段代码显示表情符号和换行符:
NSString* unicodeString = [myString stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
unicodeString = [unicodeString stringByReplacingOccurrencesOfString:@"\\ue022" withString:@"\ue022"];
// etc...
但我想找到一种通用的方法,以便能够显示所有unicode字符。
我以这种方式从我的sqlite3数据库中获取文本:
NSString* title = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 3)];
我试图用\替换\\,但是不可能写出字符串@“\”,因为它逃脱了“...我试图用\\取代\\\\,但它没有'我也尝试使用其他编码从数据库中获取字符串,但没有成功...
有什么想法吗?
答案 0 :(得分:0)
我终于在那里找到了我的解决方案(不是接受的答案,来自Nikolai Ruhe的那个):
Using Objective C/Cocoa to unescape unicode characters, ie \u1234
NSString* convertedString = [myString mutableCopy];
CFStringRef transform = CFSTR("Any-Hex/Java");
CFStringTransform((__bridge CFMutableStringRef)convertedString, NULL, transform, YES);
虽然它没有逃脱,但它可以通过stringByReplacingOccurrencesOfString轻松完成。