分享至
為何我用程式算出是3BYTE??我用的語法==> System.Text.Encoding.Default.GetBytes("李襎").Length
已邀請的邦友 {{ invite_list.length }}/5
他沒有算錯, 在 UTF-8 的編碼,一個中文 3 bytes big5 一個中文算 2 byte, 不同的編碼,中文的長度不同
可是"李襎"有2個中文字,為何不是4byte??而是3byte??
因為"李襎"在big5的編碼中,它是"李?",一個中文字加上一個問號,所以是3 bytes
襎.. Big5 沒這個字嗎?
如果這樣計算 "李"+"襎" 結果呢?會是幾個 bytes ?
在big5編碼環境下,還是3 bytes
建議你...直接在記事本中輸入『李襎』,再把文件儲存成『ANSI』格式的txt檔,然後關閉它,再開啟它看看,應該可以看到『襎』這個字變成『?』。
答案有了"襎" 不是ANSI格式
應該說『襎』這個字,不存在於big5編碼系統中...但是,gb2132或者其他中文編碼,可能存在這個字。
IT邦幫忙