const NSStringEncoding *enc = [NSString availableStringEncodings];
while (*enc != 0) {
NSString *name = [NSString localizedNameOfStringEncoding:*enc];
NSLog(@"%@ %d",name, *enc);
enc++;
}
名称为空,我正在使用IOS 6,这是一个错误吗?或者我做错了什么?谢谢你的帮助。
答案 0 :(得分:0)
我调整了你的代码
NSLog(@"%@ %d (0x%x)",name, *enc, *enc);
所以我们可以看到十六进制和十进制的NSStringEncoding。在iOS 6.1 iPhone模拟器上运行测试代码我总共得到88个不同的NSStringEncodings,其中一些返回有意义的localizedNameOfStringEncoding,这些是:
Unicode (UTF-16) 10 (0xa)
Unicode (UTF-7) -2080374528 (0x84000100)
Unicode (UTF-8) 4 (0x4)
Unicode (UTF-32) -1946156800 (0x8c000100)
Unicode (UTF-16BE) -1879047936 (0x90000100)
Unicode (UTF-16LE) -1811939072 (0x94000100)
Unicode (UTF-32BE) -1744830208 (0x98000100)
Unicode (UTF-32LE) -1677721344 (0x9c000100)
Non-lossy ASCII 7 (0x7)
据推测,只有不是所有支持的编码的本地化名称。