[英]UTF-16 string terminator
UTF-16字符串的字符串終止符序列是什么?
編輯:
讓我重新解釋一下這個問題,試圖澄清一下。 對wcslen()
的調用是如何工作的?
Unicode不定義字符串終止符。 您的環境或語言。 例如,C字符串使用0x0作為字符串終止符,以及.NET字符串,其中String
類中的單獨值用於存儲字符串的長度。
為了回答你的第二個問題, wcslen
尋找一個終止的L'\\0'
字符。 我讀它的是任何長度的0x00
字節,具體取決於編譯器,但如果您使用的是UTF-16(編碼U + 0000,'NUL' ),則可能是兩字節序列0x00
0x00
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
。 因此,您可以看到沒有預定的終止序列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.