1. 程式人生 > >位(bit),位元組(Byte),KB,MB,GB,TB,UTF-8,Unicode,字符集,排序規則

位(bit),位元組(Byte),KB,MB,GB,TB,UTF-8,Unicode,字符集,排序規則

1位元組(byte) = 8位(bit)
1KB=1024byte
1MB=1024KB
1GB=1024MB

位(bit):位只有兩種形式0和1
位元組(byte):位元組是有8個位組成的。可以表示256個狀態。1位元組(byte)=8位(bit)


一個utf8數字佔1個位元組

一個utf8英文字母佔1個位元組

佔2個位元組的:帶有附加符號的拉丁文、希臘文、西裡爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要二個位元組編碼

佔3個位元組的:基本等同於GBK,含21000多個漢字

佔4個位元組的:中日韓超大字符集裡面的漢字,有5萬多個

少數是漢字每個佔用3個位元組,多數佔用4個位元組。

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,又稱萬國碼,由Ken Thompson於1992年建立。現在已經標準化為RFC 3629。UTF-8用1到6個位元組編碼Unicode字元。用在網頁上可以統一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

如果UNICODE字元由2個位元組表示,則編碼成UTF-8很可能需要3個位元組。而如果UNICODE字元由4個位元組表示,則編碼成UTF-8可能需要6個位元組。用4個或6個位元組去編碼一個UNICODE字元可能太多了,但很少會遇到那樣的UNICODE字元。

UTF-8編碼規則:如果只有一個位元組則其最高二進位制位為0;如果是多位元組,其第一個位元組從最高位開始,連續的二進位制位值為1的個數決定了其編碼的位元組數,其餘各位元組均以10開頭。UTF-8轉換表表示如下: