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。所以你可以看到没有预定的终止序列。