1. 程式人生 > 其它 >字符集和字元編碼的區別

字符集和字元編碼的區別

字符集定義了字元和二進位制的對應關係,為每個字元分配了唯一的編號。可以將字符集理解成一個很大的表格,

它列出了所有字元和二進位制的對應關係,計算機顯示文字或者儲存文字,就是一個查表的過程。而字元編碼規定了如何將字元的編號儲存到計算機中。如果使用了類似 GB2312 和 GBK 的變長儲存方案(不同的字元佔用的位元組數不一樣),那麼為了區分一個字元到底使用了幾個位元組,就不能將字元的編號直接儲存到計算機中,字元編號在儲存之前必須要經過轉換,在讀取時還要再逆向轉換一次,這套轉換方案就叫做字元編碼。

有的字符集在制定時就考慮到了編碼的問題,是和編碼結合在一起的,例如 ASCII、GB2312、GBK、BIG5 等,所以無論稱作字符集還是字元編碼都無所謂,也不好區分兩者的概念。而有的字符集只管制定字元的編號,至於怎麼儲存,那是字元編碼的事情,Unicode 就是一個典型的例子,它只是定義了全球文字的唯一編號,我們還需要 UTF-8、UTF-16、UTF-32 這幾種編碼方案將 Unicode 儲存到計算機中

部落格: https://blog.86886.wang
GitHub: https://github.com/wmui