HTML 中,正確的字符編碼是什么?
HTML5 中默認的字符編碼是 UTF-8。
這并非總是如此。早期網絡的字符編碼是 ASCII 碼。
后來,從 HTML 2.0 到 HTML 4.01,ISO-8859-1 被認定為標準。
隨著 XML 和 HTML5 的出現,UTF-8 也終于到來了,解決了大量的字符編碼問題。
下面是關于字符編碼標準的簡短概述。
在開始的時候:ASCII
計算機信息(數字、文字、圖片)在電子中是以二進制 1 和 0(01000101)進行存儲的。
為了規范字母數字字符的存儲,創建了 ASCII(全稱 American Standard Code for Information Interchange)。它為每個存儲字符定義了一個獨特的二元 7 位數字,支持 0-9 數字,大/小寫英文字母(a-z、A-Z)和一些特殊的字符,比如 ! $ + - ( ) @ < > 。
由于 ASCII 使用一個字節(7 位表示字符,1 位表示傳輸奇偶控制),所以它只能表示 128 個不同的字符。這些字符中有 32 個被保留作為其他控制目的使用。
ASCII 的最大的缺點是,它排除了非英文字母。
ASCII 今天仍然在廣泛使用,尤其是在大型計算機系統中。
如需深入了解 ASCII,請查看完整的 ASCII 參考手冊。
在 Windows 中:ANSI
ANSI(也稱為 Windows-1252),是 Windows 95 及其之前的 Windows 系統中默認的字符集。
ANSI 是 ASCII 的擴展,它加入了國際字符。它使用一個完整的字節(8 位)來表示 256 個不同字符。
自從 ANSI 成為 Windows 中默認的字符集,所有的瀏覽器都支持 ANSI。
如需深入了解 ANSI,請查看完整的 ANSI 參考手冊。
在 HTML 4 中:ISO-8859-1
由于大多數國家使用 ASCII 以外的字符,在 HTML 2.0 標準中,默認的字符編碼更改為 ISO-8859-1。
ISO-8859-1 是 ASCII 的擴展,它加入了國際字符。與 ANSI 一樣,它使用一個完整的字節(8 位)來表示 256 個不同字符。
如果 HTML 4 網頁使用了不同于 ISO-8859-1 的字符集,則需要在 <meta> 標簽中指定,如下所示:
實例
<metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-8">
如需深入了解 ISO-8859-1,請查看完整的 ISO-8859-1 參考手冊。
在 HTML5 中:Unicode(UTF-8)
由于以上所列的字符集是有限的,在多語言環境中是不兼容的,所以 Unicode 聯盟(Unicode Consortium)開發了 Unicode 標準(Unicode Standard)。
Unicode 標準覆蓋了(幾乎)所有的字符、標點符號和符號。
Unicode 使文本的處理、存儲和運輸,獨立于平臺和語言。
HTML5 中默認的字符編碼是 UTF-8。
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
當瀏覽器在網頁中檢測到 ISO-8859-1 時,通常默認為 ANSI,因為除了 ANSI 有 32 個額外的字符這一點,其他方面 ANSI 基本等同于 ISO-8859-1。
HTML5 中默認的字符集是 UTF-8。
所有的 HTML 4 處理器都支持 UTF-8,所有的 HTML5 和 XML 處理器都支持 UTF-8 和 UTF-16。
技術等級】中級
本文重點講解CSS文件中的字符集問題,同時展示了中文字體的英文名稱應該如何使用。本文屬于前端開發的中級教程,適合于有一定的CSS開發經驗的學習者。
現在頁面的CSS代碼多采用CSS文件的方式鏈接使用,這主要是秉承了“標記”與“表象”相分離的設計原則,讓CSS代碼在一個獨立的文件中呈現。
在CSS文件中同樣會出現一定的中文,例如:中文注釋,中文字體名稱。這些中文內容,瀏覽器能夠自動識別而不至于解釋為亂碼嗎?
W3C為CSS文件準備了一個設置文件字符集的命令,該命令的書寫格式如下:
CSS文件使用 @charset “utf-8”; 命令設置文件字符集
該句命令的使用有如下的規定:
上述代碼中@和charset之間不得有空格。
所指定的字符集名稱必須用雙引號引住。
命令末尾必須帶有一個分號。
該句命令在一個CSS文件中只允許出現一次。
該句命令必須書寫在CSS文件的第一行,前面不得有任何內容,也不得有任何注釋。
該句是為CSS文件中出現的非ASCII碼字符所設定的。為了讓非ASCII字符不出現亂碼或者字體中文名稱起作用,必須設置該句。當然現在的許多編輯器在這方面處理的都比較好,設計人員無需書寫該句,也能正確的實現非ASCII字符。
一、Sublime 中如何修改CSS字符集:
在編輯器Sublime 3中,如果要修改字符集,單純的在 @charset 命令中改變字符集的名稱是不行的。
首先,默認情況下,Sublime 3認定的字符集為 utf-8,從下圖中指定的位置可以看出。
Sublime 3 中指定文件當前字符集的位置
圖中箭頭指向的位置表明當前的字符集設置為“utf-8”,圖中第1句指定的字符集命令也是“utf-8”。這樣,代碼第4行的中文字體名稱“漢儀綜藝體簡”就可以在頁面中生效了。
如果想使用“gb2312”或者“big5碼”字符集,則需要更改Sublime 3中指定的字符集。方法是在“文件”菜單下選擇“設置文件編碼”命令,從中找到想使用字符集,例如“GBK”,就表示“gb2312”字符集。
Sublime 3 中更改文件編碼
如果沒有對Sublime 3進行文件編碼設置,只是更改了 @charset 命令中指定的字符集名,則在代碼中使用的中文字體名稱是不會生效的。
箭頭指定的兩個位置必須是一致的
二、中文字體的英文名稱表示法:
如果能讓中文字體的名稱不再使用中文書寫,而是使用英文書寫,那么CSS文件中幾乎就很少再會有非ASCII字符的出現了。所以,每一個中文字體都具備一個英文名稱表示法。大家應該熟悉一些常用字體的英文名稱表示法,這樣就不用在CSS文件頂部注明 @charset 命令了。
下面,小海老師就為大家搜集了一些常用中文字體的英文表示法,希望大家在學習過程中注意知識的積累。
宋體:SimSun
仿宋:FangSong
黑體:SimHei
楷體:KaiTi
幼圓:YouYuan
隸書:LiSu
微軟雅黑:Microsoft YaHei
華文細黑:STXihei
華文中宋:STZhongsong
華文仿宋:STFangsong
花紋新魏:STXinwei
華文行楷:STXingkai
華文彩云:STCaiyun
華文隸書:STLiti
如果您的電腦是 Apple Mac OS,還可能會用到下列字體:
麗宋Pro:LiSong Pro Light
麗黑Pro:LiHei Pro Medium
蘋果麗中黑:Apple LiGothic Medium
蘋果麗細宋:Apple LiSung Light
標楷體:BiauKai
將上述中文字體的英文名稱用在 font-family 屬性中指定字體,就可以不用在書寫 @charset 命令了。
下一次小海老師會為大家講解CSS中有關文本段落的屬性,結合前面HTML的內容,可以對頁面中的段落進行更為細致的調整。千萬不要錯過哦。
如果大家希望得到更加全面的關于HTML和CSS技術講解的內容,可以私信我,我會免費將小海老師自己編寫的HTML和CSS的PDF教材發給你,幫助你在前端開發的道路上闊步前行。
符集 (字符編碼):每一個字符分配一個代碼或叫編號,如u+0041即代表A;
一種語言對應一個特定的字符集;
也可以有多個字體集來定義,如GB2312、GBK;
幾種語言合并到一起也可以定義一個字符集,如CJK,即中國、日本、韓國;
全世界語言全部考慮進來的字符集Unicocde;
當你使用不同的字符集時,即使你的其他設置相同,文本在瀏覽器上的顯示效果也會有區別;
HTML對語言、字符集、字體集的定義
<html xml:lang="en">; or <p xml:lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
font-family:"font-family:Arial, Helvetica, sans-serif";
通常來說,一種字體通常不會包括一種語言的全部字體,如果你只定義一種字體,沒有字體定義的字體會顯示為?;
1 serif:times new roman;一種具有襯線的字體。襯線是指字符筆劃末端的裝飾性細線,times new roman,georgia。seif字體最適合于印刷,因為即使在尺寸很小的時候這種字體依然容易閱讀。但是,在呈現為屏幕上的像素時,襯線中細膩的點往往會有一些損失或粗粒化,所以一般來說在web上sans serif字體更容易閱讀(不過,serif字體在尺寸比較大的情況下很漂亮)
sans serif:無襯線,是一種沒有裝飾曲線的字體,如Helvetica,arial;
2 monospace:courier,是一種所有字符包括標點都具有相同寬度的字體;
3 monospace:monaco,是一種所有字符包括標點都具有相同寬度的字體;(如果不是特別指定,一些字母所需的相對寬度是不等的,如iW,如果顯示編碼,則用等寬字體更直觀;)
4 cursive:"brush script mt,是一種模仿手寫體的字體;
5 fantasy:impact:一種裝飾性的或高度花樣化的字體
輸入、輸入法
為了將各種符號輸入計算機或其他設備(如手機)而采用的編碼方法。
多數的輸入法軟件是為漢語,韓語,和日語而設計,是因為鍵盤原在打字機時代為英文字母而設計,而中文、日文等文字卻無法直接輸入,所以必需集中輸入法編碼來輸入相應的文字。在中國,為了將漢字輸入計算機或手機等電子設備則需要中文輸入法。漢字輸入的編碼方法,基本上都是采用將音、形、義與特定的鍵相聯系,再根據不同漢字進行組合來完成漢字的輸入的。
廣義上的輸入法還包括手寫、語音、OCR掃描閱讀器、速錄機等輸入方式。手寫識別借著計算機的認字功能,由使用者的手寫字體來辨別文字或其它符號。語音識別使用話筒和語音識別軟件來辯別文字。OCR軟件種類比較多,常用的比如清華OCR,在系統對圖形進行識別后,系統會把不能肯定的字符標記出來,從而將文字或符號輸入到電腦中。速錄技術一般采用專用的速錄鍵盤和設備,有國際上的專用速錄設備,通常采用并擊手術(即每次按鍵多個手指按下不同鍵位),可以實現每按一次就出來整一個單詞。中文使用最廣泛的速錄技術是亞偉速錄,可以實現每分鐘600字以上的速度。
-End-
*請認真填寫需求信息,我們會在24小時內與您取得聯系。