GB2312將取代UTF-8? 確有其事?

字號+ 編輯: 种花家 修訂: 小红帽 來源: 网络转载 2023-09-07 我要說兩句(0)

最近很多人通過支付寶網站或是手機錢包上,發現餘額寶有不可用餘額,資金是被凍結的,有的是凍結全部,有的是凍結一部分。那麽餘額寶凍結金額是怎麽回事?如何解決?下面小編就爲大家介紹一下,一起來看看吧

當提到“編碼”的概念,如果只認識UTF-8和GB2312就顯得格局low了,甚至於有非常多人不了解它們是什麽,又代表了怎樣的含義,所以才提出GB2312何時能夠代替UTF-8的問題。

衆所周知目前的機器僅能識別“0”和“1”,也就是說機器只能夠處理數字,想要處理文本,就必須先把文本轉換爲數字機器才能處理。舉個例子:字母“A”是一個字符,在ASCII碼中十進制數“65”就表示字符“A”,用二進制數表示就是“0100 0001”。這時我們就能很好的理解編碼了,編碼表非常像一本字典,只有它的存在二進制數、十進制數、字符之間才能相互轉換,像極了一本密碼本,只有擁有這本密碼本才能相互解密,要不看著就是亂碼。

最早出現的編碼是ASCII,因爲計算機最早是由美國人發明的,存儲能力和性能都受到當時科技發展情況的限制, 所以在當年制定的ASCII標準下, 順理成章地, 只有127個字符被編碼到計算機裡,包括了大小寫英文字母、數字和一些符號。

ASCII表.jpg

如果全世界的人都使用英文, 也別用什麽顔文字啊、表情符號啊,那麽編碼後面就不會發生那麽多事了,26個字母大小寫也就是52個,數字0~9,再加上標點符號和其他一些符號,但事實並不是這樣的全世界有上百種語言,所以各國都有各國的編碼標準。比如中國大陸幾乎所有的中文系統和軟體都支持GB2312(GB就是國標的意思),它幾乎滿足了計算機中漢字99.75%的使用頻率,但人名、古漢語等會出現罕用字,所以才出現了後來的GBK、GB18030漢字字符集。

第0區區.jpg

亂碼: 使用錯誤的編碼標準去解釋代碼

過去word文档打開常常就是一堆亂碼,就是編碼導致的,沒有識別到正確的編碼顯示就是亂碼。

因此Unicode字符集編碼就出現了,它將世界上所有語言都統一到了一套編碼裡面,這樣就不會再出現亂碼的問題了,所以操作系統和大多數編程語言就開始直接支持Unicode字符集編碼。

Unicode字符集確實是解決了亂碼的問題,但如果你寫的文本基本都是英文的話,用Unicode編碼會比ASCII編碼需要多出一倍的存儲空間,因爲ASCII編碼是1個字節,而Unicode編碼通常是2個字節。比如字母“A”用ASCII編碼二進制是01000001,而採用Unicode編碼就是00000000 01000001,這樣在存儲和傳輸的效率上就顯得特別的不劃算。於是Unicode編碼就演變爲可變長編碼的UTF-8編碼,常用的英文字母被編碼爲1個字節,漢字通常是3個字節,而一些生僻字符則會編碼成4~6個字節,這樣就能節省存儲資源、提高傳輸的效率。

01000001.jpg

綜上所述, GB2312是字符中文編碼的一種國家標準,而UTF-8囊括了幾乎所有國家的常用字符編碼,名副其實的成爲了萬國編碼。既然有萬國編碼的存在,爲什麽GB2312又沒有消失呢?這是因爲我們可能還需要顯示一些不同尋常、不常見的漢字,所以就不能完全才有萬國編碼。

要實現UTF-8編碼和GB2312編碼的轉換必須先把UTF-8編碼還原成Unicode編碼,再把Unicode編碼轉化成GB2312編碼,同樣GB2312轉換成UTF-8也是同樣的道理。所以別再提GB2312合適能夠代替UTF-8的問題了,這樣會顯得特別沒有文化。

閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 古爾曼:蘋果公司正將更多注意力轉向6G研發

  • git clone或者git pull因爲網路問題導致失敗

  • 大裁員, 巨虧, 知乎“值乎”?

  • 小談互聯網變現掙錢的14個模式

我要說說
網上賓友點評