UTF-16字符串的字符串终止符序列是什么?
编辑:
让我重新解释一下这个问题,试图澄清一下。 对wcslen()
的调用是如何工作的?
Unicode不定义字符串终止符。 您的环境或语言。 例如,C字符串使用0x0作为字符串终止符,其中.NET语言根本不使用字符串终止符 – 它们在String
类中定义一个单独的值来存储字符串的长度。
为了回答你的第二个问题, wcslen
寻找一个终止的L' '
字符。 我读它的是任何长度的0x00
字节,具体取决于编译器,但如果您使用的是UTF-16(编码U + 0000,’NUL’ ),则可能是两字节序列0x00
0x00
没有。 字符串终止符不是编码的一部分。
例如,如果你有字符串ab
,它将以UTF-16编码,具有以下字节序列: 61 00 62 00
。 如果你有大家
你会得到27-59-B6-5B
。 因此,您可以看到没有预定的终止序列。
7.24.4.6.1 wcslen函数(来自标准 )
…
[#3] The wcslen function returns the number of wide characters that precede the terminating null wide character.
空宽字符是L' '
以上就是c/c++开发分享UTF-16字符串终止符相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549431.html