我想知道字符串是否是单字节编码。 CFShowStr
可以执行此操作,但会将消息输出到控制台。 CFShowStr
函数输出消息如下所示,IsEightBit
项是我想要的:
Length 7
IsEightBit 1
HasLengthByte 0
HasNullByte 1
InlineContents 0
Allocator SystemDefault
Mutable 0
Contents 0x104f9fef3
答案 0 :(得分:0)
我不认为八位标志意味着你的想法。请参阅CFShowStr
的文档:
使用此功能可以了解CFString的特定属性 调试期间的对象。这些属性包括以下内容:(...) 原来它是一个8位字符串,如果是,是否是一个 C(
HasNullByte
)或Pascal(HasLengthByte
)字符串。
我不知道CFString在内部使用了什么编码。你为什么关心八位?因为在大多数情况下你不应该这样做。