UTF-16 字符串的字符串终止符序列是什么?
编辑:
让我重新表述这个问题以试图澄清。上班的电话怎么样wcslen()
?
UTF-16 字符串的字符串终止符序列是什么?
编辑:
让我重新表述这个问题以试图澄清。上班的电话怎么样wcslen()
?
Unicode 没有定义字符串终止符。您的环境或语言确实如此。例如,C 字符串使用 0x0 作为字符串终止符,在 .NET 字符串中,String
类中的单独值用于存储字符串的长度。
要回答您的第二个问题,请wcslen
查找终止L'\0'
字符。在我阅读时,它是任意长度的0x00
字节,具体取决于编译器,但0x00
0x00
如果您使用 UTF-16(编码U+0000, 'NUL') ,则可能是两字节序列
7.24.4.6.1 wcslen 函数(来自标准)
...
[#3] The wcslen function returns the number of wide characters that precede the terminating null wide character.
空宽字符是L'\0'
没有。字符串终止符不是编码的一部分。
例如,如果您有字符串ab
,它将使用 UTF-16 编码,并具有以下字节序列:61 00 62 00
. 如果你有大家
你会得到27-59-B6-5B
。所以你可以看到没有预定的终止序列。