成人在线视频网址_在线看成人av_在线视频91_午夜激情免费_日韩一区二区在线免费观看_91欧美精品成人综合在线观看

當(dāng)前位置: 博客首頁 >> 網(wǎng)頁設(shè)計(jì)制作 >> 網(wǎng)頁設(shè)計(jì)gbk編碼與utf-8編碼、Unicode編碼的區(qū)別詳解--網(wǎng)站建設(shè)知識 rss

網(wǎng)頁設(shè)計(jì)gbk編碼與utf-8編碼、Unicode編碼的區(qū)別詳解--網(wǎng)站建設(shè)知識

成都網(wǎng)站優(yōu)化 在 2013-02-26 發(fā)表,評論(0),閱讀(0)

UTF-8:Unicode TransformationFormat-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節(jié)編碼,它對英文使用8位(即一個(gè)字節(jié)),中文使用24為(三個(gè)字節(jié))來編碼。UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強(qiáng)。UTF-8編碼的文字可以在各國支持UTF8字符集的瀏覽器上顯示。如,如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支持包。

GBK是國家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn)。GBK的文字編碼是用雙字節(jié)來表示的,即不論中、英文字符均使用雙字節(jié)來表示,為了區(qū)分中文,將其最高位都設(shè)定成1。GBK包含全部中文字符,是國家編碼,通用性比UTF8差,不過UTF8占用的數(shù)據(jù)庫比GBD大。

GBK、GB2312等與UTF8之間都必須通過Unicode編碼才能相互轉(zhuǎn)換:

GBK、GB2312--Unicode--UTF8

UTF8--Unicode--GBK、GB2312

簡單地說:
對于中文較多的論壇,適宜用GBK編碼節(jié)省數(shù)據(jù)庫空間。對于英文較多的論壇,適宜用UTF-8節(jié)省數(shù)據(jù)庫空間。

GBK簡體中文版和UTF8簡體中文版有什么區(qū)別?
ASCII(ISO-8859-1)是鼻祖,最簡單的方式,字節(jié)高位為0
GB2312、GBK、GB18030,這幾個(gè)是中文編碼方式,并向下兼容。GB2312包含7000多個(gè)漢字和字符,GBK包含21000多個(gè),GB18030更厲害,到了27000多個(gè)。他們都是用2個(gè)字節(jié)來表示一個(gè)漢字。跟ascii是怎么區(qū)分的呢?如果高字節(jié)的高位為1(也就是高字節(jié)大于127),就表示是漢字,低字節(jié)并無明顯特征。

Unicode是統(tǒng)一編碼,它建立了一個(gè)全世界統(tǒng)一的碼表。世界上的所有文字,在這張碼表中都是唯一的。

UTF-8是Unicode的一種存儲(chǔ)、傳輸方式。它將整個(gè)Unicode碼表分為3部分。
0000 - 007F 這部分是最初的ascii部分,按原始的存儲(chǔ)方式,即0xxxxxxx。
0080 - 07FF 這部分存儲(chǔ)為110xxxxx 10xxxxxx
0800 - FFFF 這部分存儲(chǔ)為1110xxxx 10xxxxxx 10xxxxxx
因此,一個(gè)漢字究竟被存儲(chǔ)為什么,就需要:先查unicode碼表,然后根據(jù)在碼表的位置進(jìn)行計(jì)算。例如:“電”字,在碼表中是3575,計(jì)算成utf8就是E794B5,而在GB2312的碼表中為B5E7
UTF-8的好處:兼容ASCII,存儲(chǔ)英文文件都是單字節(jié),文件小。當(dāng)然,當(dāng)以存中文為主時(shí)就變成了3字節(jié)編碼了,比GB系列還大!如何標(biāo)明一個(gè)文件是utf8格式呢?這個(gè)標(biāo)記是可選的:EF BB BF。比如,用windows自帶的記事本創(chuàng)建一個(gè)utf8格式的文件,就會(huì)加上這個(gè)標(biāo)記。但是,如果用ultraedit創(chuàng)建utf8文件,并不會(huì)加上這個(gè)標(biāo)記。這個(gè)標(biāo)記有個(gè)術(shù)語,叫做BOM(Byte Order Mark)。不帶BOM的utf8文件和GB2312文件怎么區(qū)分呢?我也不知道。唯一能想到的辦法就是:先用一種試,如果出現(xiàn)亂碼,就用另一種再試

UTF-16是雙字節(jié)存儲(chǔ),這就帶來一個(gè)問題,即高低字節(jié)的順序。兩個(gè)字節(jié)有兩種順序,它們也用BOM來標(biāo)明。分為大尾碼和小尾碼兩種。大尾碼的BOM是FEFF,小尾碼的BOM是FFFE


所以我覺得還是GBK好些,如果你是中文站的話

但是還要說一下的是,UTF-8是未來的趨勢。

UNICODE,GBK,UTF-8區(qū)別
簡單來說,unicode,gbk和大五碼就是編碼的值,而utf-8,uft-16之類就是這個(gè)值的表現(xiàn)形式.而前面那三種編碼是一兼容的,同一個(gè)漢字,那三個(gè)碼值是完全不一樣的.如"漢"的uncode值與gbk就是不一樣的,假設(shè)uncode為a040,gbk為b030,而uft-8碼,就是把那個(gè)值表現(xiàn)的形式.utf-8碼完全只針對uncode來組織的,如果GBK要轉(zhuǎn)UTF-8必須先轉(zhuǎn)uncode碼,再轉(zhuǎn)utf-8就OK了.
詳細(xì)的就見下面轉(zhuǎn)的這篇文章.

談?wù)刄nicode編碼,簡要解釋UCS、UTF、BMP、BOM等名詞
這是一篇程序員寫給程序員的趣味讀物。所謂趣味是指可以比較輕松地了解一些原來不清楚的概念,增進(jìn)知識,類似于打RPG游戲的升級。整理這篇文章的動(dòng)機(jī)是兩個(gè)問題:

問題一:
使用Windows記事本的“另存為”,可以在GBK、Unicode、Unicode big endian和UTF-8這幾種編碼方式間相互轉(zhuǎn)換。同樣是txt文件,Windows是怎樣識別編碼方式的呢?

我很早前就發(fā)現(xiàn)Unicode、Unicode big endian和UTF-8編碼的txt文件的開頭會(huì)多出幾個(gè)字節(jié),分別是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但這些標(biāo)記是基于什么標(biāo)準(zhǔn)呢?

問題二:
最近在網(wǎng)上看到一個(gè)ConvertUTF.c,實(shí)現(xiàn)了UTF-32、UTF-16和UTF-8這三種編碼方式的相互轉(zhuǎn)換。對于Unicode(UCS2)、GBK、UTF-8這些編碼方式,我原來就了解。但這個(gè)程序讓我有些糊涂,想不起來UTF-16和UCS2有什么關(guān)系。
查了查相關(guān)資料,總算將這些問題弄清楚了,順帶也了解了一些Unicode的細(xì)節(jié)。寫成一篇文章,送給有過類似疑問的朋友。本文在寫作時(shí)盡量做到通俗易懂,但要求讀者知道什么是字節(jié),什么是十六進(jìn)制。

0、big endian和little endian
big endian和little endian是CPU處理多字節(jié)數(shù)的不同方式。例如“漢”字的Unicode編碼是6C49。那么寫到文件里時(shí),究竟是將6C寫在前面,還是將49寫在前面?如果將6C寫在前面,就是big endian。如果將49寫在前面,就是little endian。

“endian”這個(gè)詞出自《格列佛游記》。小人國的內(nèi)戰(zhàn)就源于吃雞蛋時(shí)是究竟從大頭(Big-Endian)敲開還是從小頭(Little-Endian)敲開,由此曾發(fā)生過六次叛亂,一個(gè)皇帝送了命,另一個(gè)丟了王位。

我們一般將endian翻譯成“字節(jié)序”,將big endian和little endian稱作“大尾”和“小尾”。

1、字符編碼、內(nèi)碼,順帶介紹漢字編碼
字符必須編碼后才能被計(jì)算機(jī)處理。計(jì)算機(jī)使用的缺省編碼方式就是計(jì)算機(jī)的內(nèi)碼。早期的計(jì)算機(jī)使用7位的ASCII編碼,為了處理漢字,程序員設(shè)計(jì)了用于簡體中文的GB2312和用于繁體中文的big5。

GB2312(1980年)一共收錄了7445個(gè)字符,包括6763個(gè)漢字和682個(gè)其它符號。漢字區(qū)的內(nèi)碼范圍高字節(jié)從B0-F7,低字節(jié)從A1-FE,占用的碼位是72*94=6768。其中有5個(gè)空位是D7FA-D7FE。

GB2312支持的漢字太少。1995年的漢字?jǐn)U展規(guī)范GBK1.0收錄了21886個(gè)符號,它分為漢字區(qū)和圖形符號區(qū)。漢字區(qū)包括21003個(gè)字符。

從ASCII、GB2312到GBK,這些編碼方法是向下兼容的,即同一個(gè)字符在這些方案中總是有相同的編碼,后面的標(biāo)準(zhǔn)支持更多的字符。在這些編碼中,英文和中文可以統(tǒng)一地處理。區(qū)分中文編碼的方法是高字節(jié)的最高位不為0。按照程序員的稱呼,GB2312、GBK都屬于雙字節(jié)字符集 (DBCS)。

2000年的GB18030是取代GBK1.0的正式國家標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)收錄了27484個(gè)漢字,同時(shí)還收錄了藏文、蒙文、維吾爾文等主要的少數(shù)民族文字。從漢字字匯上說,GB18030在GB13000.1的20902個(gè)漢字的基礎(chǔ)上增加了CJK擴(kuò)展A的6582個(gè)漢字(Unicode碼0x3400-0x4db5),一共收錄了27484個(gè)漢字。

CJK就是中日韓的意思。Unicode為了節(jié)省碼位,將中日韓三國語言中的文字統(tǒng)一編碼。GB13000.1就是ISO/IEC 10646-1的中文版,相當(dāng)于Unicode 1.1。

GB18030的編碼采用單字節(jié)、雙字節(jié)和4字節(jié)方案。其中單字節(jié)、雙字節(jié)和GBK是完全兼容的。4字節(jié)編碼的碼位就是收錄了CJK擴(kuò)展A的6582個(gè)漢字。例如:UCS的0x3400在GB18030中的編碼應(yīng)該是8139EF30,UCS的0x3401在GB18030中的編碼應(yīng)該是8139EF31。

微軟提供了GB18030的升級包,但這個(gè)升級包只是提供了一套支持CJK擴(kuò)展A的6582個(gè)漢字的新字體:新宋體-18030,并不改變內(nèi)碼。Windows 的內(nèi)碼仍然是GBK。

 

Tags:

思為網(wǎng)絡(luò)騰訊企業(yè)微博,請關(guān)注我們:
已有位網(wǎng)友對“網(wǎng)頁設(shè)計(jì)gbk編碼與utf-8編碼、Unicode編碼的區(qū)別詳解--網(wǎng)站建設(shè)知識”發(fā)表評論。

 

m.h4pj6t.cn/seoblog/
主站蜘蛛池模板: 在线观看成人 | 在线播放中文字幕 | 黄色国产片 | 亚洲精品乱码久久久久久蜜糖图片 | 日本中文字幕在线观看 | 国产毛片一区二区 | 亚洲精品久久久久久久久久久久久 | 成人在线播放 | 国产亚洲精品成人 | 亚洲午夜精品毛片成人播放器 | 性做久久久 | 日本一区二区在线观看视频 | 亚洲精选久久 | 成人免费大片黄在线播放 | 91免费在线播放 | 亚洲免费一区二区 | 欧美a一级| 国产资源在线免费观看 | 欧美一级在线观看 | 国产综合欧美 | 国产色秀视频在线观看 | 欧美视频免费在线 | 久久午夜羞羞影院免费观看 | 免费视频成人国产精品网站 | 黄色影片免费在线观看 | 一级a性色生活片久久毛片 国产精品久久久久久久久久免费看 | 欧美一区二区免费 | 免费成人av片| 一本大道香蕉大a√在线 | 亚洲性视频 | 国产黄色成人 | 亚洲成人一区二区 | 欧美激情在线播放 | 午夜影院a| 日韩免费一区二区 | 午夜私人影院在线观看 | 色综合久 | 超碰8| 久久国内 | 老司机午夜免费精品视频 | 亚洲精品久久久久中文字幕欢迎你 |