15

UTF-16 字符串的字符串终止符序列是什么?

编辑:

让我重新表述这个问题以试图澄清。上班的电话怎么样wcslen()

4

3 回答 3

17

Unicode 没有定义字符串终止符。您的环境或语言确实如此。例如,C 字符串使用 0x0 作为字符串终止符,在 .NET 字符串中,String类中的单独值用于存储字符串的长度。

要回答您的第二个问题,请wcslen查找终止L'\0'字符。在我阅读时,它是任意长度的0x00字节,具体取决于编译器,但0x00 0x00如果您使用 UTF-16(编码U+0000, 'NUL') ,则可能是两字节序列

于 2011-05-07T20:57:51.727 回答
5

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'

于 2011-05-07T21:26:00.657 回答
4

没有。字符串终止符不是编码的一部分。

例如,如果您有字符串ab,它将使用 UTF-16 编码,并具有以下字节序列:61 00 62 00. 如果你有大家你会得到27-59-B6-5B。所以你可以看到没有预定的终止序列。

于 2011-05-07T20:57:10.630 回答