編碼的重要作用
計算機只能處理數字,如果想讓計算機處理人類語言,則需要將字符轉換為數字,而計算機編碼就是將字符轉換為數字的過程。
編碼還可以用於壓縮數據,以便更有效地存儲和傳輸數據。
常見的編碼方式
ASCII 碼
ASCII 碼,可以表示 128 個字符,用一個字節的低 7 位表示,0 ~ 31 是控制字符,比如 換行、回車、刪除 等;32~126 是打印字符,可以通過鍵盤輸入並且能夠顯示出來。
ISO-8859-1
128 個字符顯然是不夠用的,於是 ISO 組織在 ASCII 碼基礎上又制定了一些列標準用來擴展 ASCII 編碼,它們是 ISO-8859-1 ~ ISO-8859-15,其中 ISO-8859-1 涵蓋了大多數西歐語言字符,所以應用的最廣泛。ISO-8859-1 仍然是單字節編碼,它總共能表示 256 個字符。
GB2312
全稱是《信息交換用漢字編碼字符集 基本集》,它是雙字節編碼,總的編碼範圍是 A1-F7,其中從 A1-A9 是符號區,總共包含 682 個符號,從 B0-F7 是漢字區,包含 6763 個漢字。
GBK
全稱是《漢字內碼擴展規範》,是國家技術監督局為 windows95 所制定的新的漢字內碼規範,它的出現是為了擴展 GB2312,加入更多的漢字,它的編碼範圍是 8140~FEFE(去掉 XX7F)總共有 23940 個碼位,它能表示 21003 個漢字。
GBK 兼容 GB2312,也就是説用 GB2312 編碼的漢字可以用 GBK 來解碼,並且不會有亂碼。
GB18030
全稱是《信息交換用漢字編碼字符集》,是我國的強制標準,它可能是單字節、雙字節或者四字節編碼。
雖然是國家標準,但是實際應用系統中使用的並不廣泛。
GB18030 兼容 GB2312。
UTF-16
説到 UTF 必須要提到 Unicode(Universal Code 統一碼),ISO 試圖想創建一個全新的超語言字典,世界上所有的語言都可以通過這本字典來相互翻譯。Unicode 可以表達的字符非常多,需要用多個字節來存儲。
UTF-16 意味着用兩個字節來表示 Unicode 字符,兩個字節是 16 個 bit,所以叫 UTF-16。
UTF-8
有很大一部分字符用一個字節就可以表示,UTF-16 統一採用兩個字節表示一個字符,存儲空間放大了一倍,造成浪費。UTF-8 採用了一種變長技術,每個編碼區域有不同的字碼長度,不同類型的字符可以是由 1~6 個字節組成。
交流學習
如果有疑問或想和我交流,歡迎掃描下方二維碼
更多與編碼技術相關的博文:編碼與解碼 - 腐蝕腳本
轉載聲明:本文允許轉載,原文鏈接:認識 ASCII 編碼 - 腐蝕腳本
參考:
https://www.cnblogs.com/codeXi/p/12243990.html