033_字符集和编码
1. 如需正確地顯示html頁面, 瀏覽器必須知道使用何種字符集。
2. 萬維網早期使用的字符集是ASCII。ASCII支持0-9的數字, 大寫和小寫英文字母表, 以及一些特殊字符。
3. 由于很多國家使用的字符并不屬于ASCII, 現代瀏覽器的默認字符集是ISO-8859-1。
4. 如果網頁使用不同于ISO-8859-1的字符集, 就應該在<meta>標簽進行指定。
5. 拉丁字母
5.1. 拉丁字母(羅馬字母), 是目前世界上流傳最廣的字母體系, 源自希臘字母。
5.2. 起源
5.2.1. 拉丁文的字母約公元前7世紀~前6世紀時, 由希臘字母間接發展而來, 成為古羅馬人的文字, 古羅馬滅亡前共包含23個字母, 其中有18個輔音字母B、C、D、F、G、Z、H、K、L、M、N、P、Q、R、S、T、X、Y, 4個元音字母A、E、I、O, 和一個音值不定的V, 11世紀時增加了J、U、W, 形成了今天的26個字母。古代拉丁字母只有大寫字母, 書寫無標點。
5.3. 發展
5.3.1. 在早期的拉丁字母體系中并沒有小寫字母, 公元4世紀~7世紀的安塞爾字體和小安塞爾字體是小寫字母形成的過渡字體。
5.3.2. 15世紀是歐洲文化發展極為重要的時期, 流傳下來的羅馬大寫字體和卡羅琳小寫字體通過意大利等國家的修改設計, 完美地融合在一起。
5.4. 1958年中華人民共和國頒布了以拉丁字母為基礎制定的漢語拼音。
5.5. 使用情況
6. ASCII字符集
6.1. ASCII(American Standard Code for Information Interchange: 美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統, 主要用于顯示現代英語和其他西歐語言。它是最通用的信息交換標準, 并等同于國際標準ISO/IEC 646。ASCII第一次以規范標準的類型發表是在1967年, 最后一次更新則是在1986年, 到目前為止共定義了128個字符。
6.2. ASCII字符集的表達方式--ASCII碼
6.2.1. ASCII碼使用一個字節來編碼ASCII字符集。?
6.2.2. ASCII碼使用指定的7位二進制數組合來表示128種可能的字符。
6.2.3. 標準ASCII碼也叫基礎ASCII碼, 使用7位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母, 數字0到9、標點符號, 以及在美式英語中使用的特殊控制字符。
6.2.4. 0~31及127(共33個)是控制字符或通信專用字符。如控制符: LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等。通信專用字符: SOH(文頭)、EOT(文尾)、ACK(確認)等。它們并沒有特定的圖形顯示, 但會依不同的應用程序, 而對文本顯示有不同的影響。
6.2.5. 控制字符(水平制表符、換行符和回車符除外)與html文檔無關。
6.2.6. 32~126為可顯示字符。32是空格, 48~57為0到9十個阿拉伯數字, 65~90為26個大寫英文字母, 97~122號為26個小寫英文字母, 其余為一些標點符號、運算符號等。
6.3. ASCII標準表
6.4. 問題編輯
6.4.1. 在英語中, 用128個符號編碼便可以表示所有, 但是用來表示其他語言, 128個符號是不夠的。比如: 在法語中, 字母上方有注音符號, 它就無法用ASCII 碼表示。于是, 一些歐洲國家就決定, 利用字節中閑置的最高位編入新的符號。比如: 法語中的é的編碼為130(二進制10000010)。這樣一來, 這些歐洲國家使用的編碼體系, 可以表示最多256個符號。
6.4.2. 但是, 這里又出現了新的問題。不同的國家有不同的字母, 因此, 哪怕它們都使用256個符號的編碼方式, 代表的字母卻不一樣。比如: 130在法語編碼中代表了é, 在希伯來語編碼中卻代表了字母Gimel?(?), 在俄語編碼中又會代表另一個符號。但是不管怎樣, 所有這些編碼方式中, 0-127表示的符號是一樣的, 不一樣的只是128-255的這一段。
6.4.3. 至于亞洲國家的文字, 使用的符號就更多了, 漢字就多達10萬左右。一個字節只能表示256種符號, 肯定是不夠的, 就必須使用多個字節表達一個符號。比如: 簡體中文常見的編碼方式是 GB2312, 使用兩個字節表示一個漢字, 所以理論上最多可以表示: 256 x 256 = 65536個符號。
7. ISO字符集
7.1. ISO字符集是國際標準組織(ISO)針對不同的字母表/語言定義的標準字符集。
7.2. 下面列出了世界各地使用的不同字符集:
8. ISO-8859-1
8.1. ISO-8859-1編碼是單字節編碼, 向下兼容ASCII, 其編碼范圍是0x00-0xFF, 0x00-0x7F之間完全和ASCII一致, 0x80-0x9F之間ISO-8859-1未定義, 0xA0-0xFF之間是文字符號。
8.2. 此字符集支持部分歐洲使用的語言, 包括阿爾巴尼亞語、巴斯克語、布列塔尼語、加泰羅尼亞語、丹麥語、荷蘭語、法羅語、弗里西語、加利西亞語、德語、格陵蘭語、冰島語、愛爾蘭蓋爾語、意大利語、拉丁語、盧森堡語、挪威語、葡萄牙語、里托羅曼斯語、蘇格蘭蓋爾語、西班牙語及瑞典語。
8.3. ASCII編碼是一個7位的容器, ISO-8859-1編碼是一個8位的容器。
8.4. ISO-8859-1的較低部分(從1到127之間的代碼)是最初的7比特ASCII。
9. 漢字編碼
9.1. GB2312、GBK是漢字字符編碼方案的國家標準。
9.2. GB2312是1980年制定的中國漢字編碼國家標準。共收錄7445個字符, 其中漢字6763個。GB2312兼容標準ASCII碼, 采用擴展ASCII碼的編碼空間進行編碼, 一個漢字占用兩個字節, 每個字節的最高位為1。
9.3. GBK于1995年制定, 使用雙字節編碼, 編碼空間為0x8140~0xFEFE, 收錄了21003個漢字。GBK向下與GB2312編碼兼容, 向上支持ISO 10646.1國際標準, 是前者向后者過渡過程中的一個承上啟下的產物。
總結
以上是生活随笔為你收集整理的033_字符集和编码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 028_内联框架
- 下一篇: 001_推箱子-绘制图片