在HTML裡,編碼可導致瀏覽者透過IE時候網頁亂碼,也可以導致div+css的相容性Hack,編碼非常的重要,一般編碼的位置放在HTML網頁中的<head >和中間。今天我們就介紹一下關於編碼的知識。
一般這段網頁編碼放在html網頁中的
和中間。html編碼樣式
#透過改變charset=utf-8中的utf-8就可以改變網頁的編碼。
一般我們在寫CSS檔案時候也需要在CSS檔案頂部使用@charset "utf-8";來定義此CSS檔案編碼類型。一般html原始碼和css檔案編碼要統一,如果不統一會導致CSS hack,頁面亂碼網頁頁面排版亂等相容問題。
常用html編碼種類
國內常用的流行的有utf-8、gb2312這兩種。一般這兩種類型就能滿足國內網頁編碼需求。當然程式和資料庫中也會用到這兩種編碼類型來處理網頁和儲存資料型別。
UTF-8 有一下特性
UCS 字元U+0000 到U+007F (ASCII) 被編碼為位元組0x00 到0x7F (ASCII 相容). 這表示只包含7 位元ASCII 字元的檔案在ASCII 和UTF-8 兩種編碼方式下是一樣的.
所有>U+007F 的UCS 字元被編碼為一個多個位元組的字串, 每個位元組都有標記位集. 因此, ASCII 位元組(0x00-0x7F) 不可能作為任何其他字元的一部分.
表示非ASCII 字元的多位元組串的第一個位元組總是在0xC0 到0xFD 的範圍裡, 並指出這個字符包含多少個字節. 多字節串的其餘字節都在0x80 到0xBF 範圍裡. 這使得重新同步非常容易, 並使編碼無國界, 且很少受丟失字節的影響.
可以編入所有可能的231個UCS 代碼
UTF-8 編碼字元理論上可以最多到6 個位元組長, 然而16 位元BMP 字元最多只用到3 位元組長.
Bigendian UCS-4 位元組字串的排列順序是預定的.
位元組0xFE 和0xFF 在UTF-8 編碼中從未用到.
GB2312 有以下特性
GB2312標準共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時,GB2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個全形字元。
GB2312的出現,基本上滿足了漢字的電腦處理需要,它所收錄的漢字已經涵蓋99.75%的使用頻率。 GB2312中對所收漢字進行了「分區」處理,每區含有94個漢字/符號。這種表示方式也稱為區位碼。
01-09區為特殊符號。
16-55區為一級漢字,依拼音排序。
56-87區為二級漢字,依部首/筆畫排序。
10-15區及88-94區則未有編碼。
舉例來說,「啊」字是GB2312之中的第一個漢字,它的區碼就是1601。位元組結構在使用GB2312的程式中,通常採用EUC儲存方法,以便相容於ASCII。每個漢字及符號以兩個位元組來表示。第一個位元組稱為“高位元組”,第二個位元組稱為“低位元組”。 「高位元組」使用了0xA1-0xF7(把01-87區的區號加上0xA0),「低位元組」使用了0xA1-0xFE(把01-94加上0xA0)。例如「啊」字在大多數程式中,會以0xB0A1儲存。 (與區位碼比較:0xB0=0xA0+16,0xA1=0xA0+1)。
所以GB2312編碼中漢字區碼的十進位是從176到247,位碼是從161到255.之所以儲存了6763小於82*94=6768,是因為在區碼為215,位碼為250-254之間共五個編碼沒有漢字編碼,所以6768-5=6763個。
GB2312編碼可以通俗地理解為國內通用的語言。
建議charset使用編碼
UTF-8可以通俗理解簡體繁體可用此編碼如台灣和內地使用此編碼。
因編碼導致網頁相容錯誤問題
如果編碼混排將使網頁亂碼也叫不相容,特別是在CSS註解中使用了編碼混排將導致css hack。
希望以後在製作網頁的時候千萬不要忘記網頁編碼的聲明。
以上就是HTML語言編碼的知識,更多精彩請關注php中文網其它相關文章!
相關內容:
#以上是HTML的語言編碼有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!