使用NSString将UTF-8编码转换为ISO 8859-1编码

Vid*_*thy 7 cocoa cocoa-touch character-encoding nsstring ios

我有一个应用程序从服务器读取UTF-8格式的数据,但它必须在ISO 8859-1(Latin-1)中显示.是否有任何Cocoa API来实现这一目标?

Jac*_*kin 13

您可以使用NSStringgetCString:maxLength:encoding:方法,如下所示:

char converted[([string length] + 1)];
[string getCString:converted maxLength:([string length] + 1) encoding: NSISOLatin1StringEncoding];

NSLog(@"%s", converted);
Run Code Online (Sandbox Code Playgroud)

完成后,您可以NSString使用stringWithCString:encoding:类方法从相同的编码重新初始化实例:

NSString *converted_str = [NSString stringWithCString:converted encoding:NSISOLatin1StringEncoding];
Run Code Online (Sandbox Code Playgroud)