unicode想要表示世界上所有字符需要用四個位元組(因為unicode沒有長度標記位),缺點是每個字符都要用四個位元組
UTF-8也是可以表示世界上所有字符,但是好處是大部分字符只需要一兩個位元組就能表示
那么Windows內核中 unicode的長度是兩個位元組,怎么表示那些占3 4 個位元組的中文?
uj5u.com熱心網友回復:
UTF-8也是可以表示世界上所有字符,但是好處是大部分字符只需要一兩個位元組就能表示看清楚,是大部分字符,不是所有字符。不能用1、2位元組表示的,就用3、4位元組。
uj5u.com熱心網友回復:
你說的這個我知道,但是我的問題是,為什么windows內核編碼是2位元組的unicode,但是我們平時使用時依然可以使用到全部的漢字(包括3-4個位元組的字符)所以要不就是windows內核編碼其實是4個位元組的unicode
不然就是windows有其他的處理方式,
uj5u.com熱心網友回復:
你一會unicode一會兒utf,你在說什么uj5u.com熱心網友回復:
我覺得題主可以參考這篇文章https://blog.csdn.net/kemaWCZ/article/details/50749209
Windows使用的UTF-16其實是變長的,大部分使用2位元組,但也可以用4位元組。這個問題的細節確實很麻煩。特別是判斷一個字串里面究竟有幾個字符的時候,不能簡單的根據字串占用的空間計算出來。
uj5u.com熱心網友回復:
十分感謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/85720.html
上一篇:命令列提示資訊出現特殊字符亂碼
下一篇:問個雙系統安裝正版殺毒軟體的問題
