tft每日頭條

 > 圖文

 > 漢字有幾個字節

漢字有幾個字節

圖文 更新时间:2024-09-12 10:20:25

漢字有幾個字節?當我上第一節計算機課的時候,我的電腦老師跟我說,一個英文字符是1個字節,一個中文是2個字節這麼多年來,我對此一直堅信不移,相信很多人也是這麼覺得的,但是,真實情況下是這麼一回事麼?,今天小編就來說說關于漢字有幾個字節?下面更多詳細答案一起來看看吧!

漢字有幾個字節(一個漢字究竟占多少個字節)1

漢字有幾個字節

當我上第一節計算機課的時候,我的電腦老師跟我說,一個英文字符是1個字節,一個中文是2個字節。這麼多年來,我對此一直堅信不移,相信很多人也是這麼覺得的,但是,真實情況下是這麼一回事麼?

要了解這個問題,我們首先得從字節說起,什麼是字節呢?要知道,在計算中,底層都是晶體管的開關和關閉狀态,我們把一個表示開關狀态的稱之為位,把八位稱之為一個字節,也就是一個字節可以表示(00000000-11111111),也就是0到255。為什麼是8位呢?因為字符實際上還不到128個,按道理7位就夠了,一個說法是程序員也比較迷信,認為7是個不吉利的數字,另一種說法,8剛好是2^3的方,更容易計算機去理解。

ASCII(美國信息交換标準代碼)是美國人用來對拉丁字符進行的編碼。因為計算機是美國人發明的,所以他們也沒考慮其他國家可能也要用到計算機。下面是一個ASCII編碼的對應表。

後來随着計算機的發展,一些不是拉丁字母的國家也開始用計算機了,發現一個字節隻能表示256個字符,這明顯不夠,像我們漢字博大精深,常用的都有幾千個,于是常見的中文的編碼GB2312(國家簡體中文字符集)就出現了。GB2312用兩個字節來表示一個漢字,例如學習的學,對應的編碼就是10010010 0000111。這也就是小時候我們的電腦老師跟我們說的,在計算機中,英文字母占1個字節,漢字占2個字節。

随着互聯網的繼續發展,不同的國家,不同的語言都用着不同的編碼,每當不同的人進行交流,都要先知道對方用的是什麼編碼,這往往就造成了溝通的成本,而且經常因為編碼錯誤造成各種烏龍。于是,國際上就定一了一種全新的編碼方法,全世界所有的字符、文字都有對應的一個編碼,以後,就不需要轉化成不同的編碼了,這便是Unicode編碼。Unicode編碼使用4個字節來描述一個字符,每個字節8位,理論上就能表示2^32個不同的字符,全世界的字符都沒這麼多。

但随之又引來一個問題,原先一個英文字符需要1個字節,一個中文需要兩個字節,現在需要4個字節,相當于存儲變大了。這給網絡傳輸、系統存儲都帶來了一定的成本。這個時候,人們覺得壓縮一下,于是提出了utf8,UTF16這樣的表示方法,UTF8我們最經常使用,怎麼表示呢?對于一個漢字,例如上述學習的學字在Unicode編碼中表示為00000000 00000000 01011011 01100110。很明顯,前面字節都是0,非常的浪費,最好是能夠把它壓縮起來,又能讓别人知道它原來對應的就是四個字節,怎麼辦呢?UTF8就是為了解決這個問題,對于原來是雙字符的中文,會變成3個字節,第一個字節以1110開頭,後面兩個以10開頭。剩下的16位分攤到這3個字節當中。圖中便是這個學字如何從Unicode編碼轉成utf8編碼。

好了,到這裡相信你就已經明白了,一個漢字占多少個字節,是跟漢字的編碼有關系,在GB2312或者GBK編碼中,大部分漢字為2字節(部分3個),在UTF8編碼中,大部分漢字為3字節(部分為4個)。怎麼樣,學到了麼?是不是很有意思?

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved