NSUTF8StringEncoding和NSUTF16StringEncoding有什么不同?

时间:2017-02-07 07:15:41

标签: ios objective-c encoding nsarray nsutf8encoding

我试图了解编码,据我所知,utf-8编码意味着它使用8位块来表示字符。

NSString *NSUTF8Encoding = [[NSString alloc]initWithCString:"String" encoding:NSUTF8StringEncoding];

NSString *NSUTF16Encoding = [[NSString alloc]initWithCString:"String" encoding:NSUTF16StringEncoding];

NSLog(@"NSUTF8StringEncoding :%@",NSUTF8Encoding);

NSLog(@"NSUTF16StringEncoding :%@",NSUTF16Encoding);

它说: 检测到不正确的NSStringEncoding值0x0000。假设NSASCIIStringEncoding。将在不久的将来停止这种兼容性映射行为

这是什么意思?

提前致谢。

1 个答案:

答案 0 :(得分:-1)

  • NSUTF8StringEncoding:Unicode字符的8位表示。
  • NSUTF16StringEncoding:Unicode字符的16位表示。

它与字符集可能具有的字母/数字/符号的数量有关。一个8位字符只能有256个可能的字符。而16位可以有65,536。