Ios NSUTF8StringEncoding和NSUTF16StringEncoding之间有什么不同?

Ios NSUTF8StringEncoding和NSUTF16StringEncoding之间有什么不同?,ios,objective-c,encoding,nsarray,nsutf8encoding,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(@"N

我试图了解编码,据我所知,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。将在不久的将来停止此兼容性映射行为

这是什么意思

提前感谢。

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

它与一个字符集可能包含的字母/数字/符号的数量有关。8位字符只能有256个可能的字符。而16位可以有65536。

那么,它的错误是什么呢?不要只是投反对票,解释为什么?基本上所有的事情。你不知道UTF8是什么,因为你把它和ASCII混淆了。
UTF8
UTF16
都可以对整个Unicode字符集进行编码,大约1112064个字符。这是因为它们是可变长度编码。8和16不是每个字符的位数。@Sulthan编码的确切含义是什么?