UTF-16字符串终止符

Ray*_*Ray 12 c string unicode utf-16 unicode-string

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

编辑:

让我重新解释一下这个问题,试图澄清一下.wcslen()工作电话怎么样?

Mic*_*tta 15

Unicode不定义字符串终止符.您的环境或语言.例如,C字符串使用0x0作为字符串终止符,其中.NET语言根本不使用字符串终止符 - 它们在String类中定义一个单独的值来存储字符串的长度.

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

  • 小问题 - .NET`String`对象在内部具有长度*和*null终止符.这允许它们被期望终结符的互操作函数直接使用. (7认同)

pmg*_*pmg 5

7.24.4.6.1 wcslen函数(来自Standard

...

   [#3]   The  wcslen  function  returns  the  number  of  wide
   characters that precede the terminating null wide character.
Run Code Online (Sandbox Code Playgroud)

空宽字符是 L'\0'