計算機一開始在美國使用,字元編碼也只包括英文本母。anscii編碼由乙個位元組表示所有符號。乙個位元組可以表示的所有可能是256(2的8次方)種,對於美國人來說,26個英文本母,加上常用的符號,也只是用了127個。如果大家都用英文,那這套編碼完全夠用。但是不同國家的文字不同,如果加上其他國家的語言符號,那乙個位元組是不夠的,之後ascii做出了改進,將256種情況剩餘的可能用來表示其他字元。一直排到了第255種可能,從128到255表示的字元成為「擴充套件字符集」,然而,新增的字元並不能解決所有問題。
後來gb2312也無法滿足人們的需要,隨後出現了gbk標準,再後來,還是不夠用,於是出現了gb18030。這個標準幾乎可以表示所有的中文字元,此標準在2023年5月1日被作為在中國境內所有軟體產品支援的強制規格。
不只是我國,很多國家都制定了相應的符合本國文化的字元編碼標準。這些標準再本國內可以正常使用,但是如果是不同國家之間通過文字檔案的交流,就很有可能導致亂碼。這時,國際標準化組織(osi)出現了,osi致力於將全世界所有的字元用統一的標準編碼,消除不同國家之間交流的障礙。
osi將所有字元用兩個位元組表示,包括ancsi中的前127個字元,所以對於錢127個字元來說,本來8位就可以表示的字元現在用16位來表示,這其實是一種資源的浪費。
可以看出,unicode雖然是乙個很好的字元編碼方式,但由於所有字元都用兩個位元組表示導致的資源的浪費,促使了utf-8的出現,utf-8編碼中的第乙個位元組仍與ascii相容,這使得原來處理ascii字元的軟體無須或只須做少部份修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。網際網路工程工作小組(ietf)要求所有網際網路協議都必須支援utf-8編碼。
utf-8有如下特點:
<1> 前128個us-ascii字元只需乙個位元組編碼(與ancsi相同)。<2> 帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要二個位元組編碼。
<3> 其他基本多文種平面(bmp)中的字元(這包含了大部分常用字)使用三個位元組編碼。
<4> 其他極少使用的unicode輔助平面的字元使用四位元組編碼。
字符集和字元編碼/吳秦
字元編碼總結
各種編碼的檔案頭 ff fe unicode fe ff unicode big endian ef bb bf utf 8 unicode也是一種字元編碼方法,不過它是由國際組織設計,可以容納全世界所有語言文字的編碼方案。unicode的學名是 universal multiple octet c...
字元編碼總結
ascii 0 127 gb2312 0xa1a1 f7fe兩個位元組,是對ascii的補充,同時也把ascii中的字元編進 去,成全角字元。gbk 是對gb2312的一種補充,收錄的漢字範圍更大。gb2312標準共收錄6763個 漢字,其中一級漢字3755個,二級漢字3008個 gbk共收入218...
字元編碼總結
編碼字符集 表示某種編碼所涉及到字元的集合。例如ascii字符集 gb2312字符集。僅表示集合,集合元素 即字元 按照某種順序排放,並編上序號。如unicode。字元編碼 把字符集中的字元編碼為二進位制,用來表示字符集中的字元,是字符集的實現方式。如utf 8,utf 16,utf 32就是uni...