占2個字節的:0
占3個字節的:基本等同於GBK,含21000多個漢字
占4個字節的:中日韓超大字符集里面的漢字,有5萬多個
一個utf8數字占1個字節
一個utf8英文字母占1個字節
在查找 UTF-8 編碼資料時發現,很多的帖子說的 UTF-8 編碼里,一個漢字占用3個字節,有的還做了個證明,大概是這樣的,創建一個沒有BOM的UTF-8編碼的文本文件,里面保存了幾個漢字,然后查看文件的大小。我覺得這樣的證明沒有一點說服力,因為 UTF-8 是變長的,1-6個字節,少量的漢字檢測是不能說明所有的漢字都是的。
后來我又查看了字符映射表-漢語,找到了正確的答案,少數是漢字每個占用3個字節,多數占用4個字節。
占用3個字節的范圍
- U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3 共 115 個
- U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95 共 213 個
- U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9 共 36 個
- U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5 共 7549 個
- U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA 共 44138 個
- U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99 共 105 個
合計: 52156 個
占用4個字節的范圍
- U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D 共 64029 個
合計: 64029 個