溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

編碼的類型有哪些

發(fā)布時(shí)間:2021-10-13 14:08:00 來源:億速云 閱讀:391 作者:iii 欄目:編程語言

這篇文章主要講解了“編碼的類型有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“編碼的類型有哪些”吧!

ASCII

ASCII編碼,即美國信息交換標(biāo)準(zhǔn)碼,是美國制定用來表示128個(gè)英文字符的編碼。

ASCII 碼一共規(guī)定了128個(gè)字符的編碼,只占用了一個(gè)字節(jié)的后面7位,最前面的一位統(tǒng)一規(guī)定為0。

BASE64

BASE64 是一組相似的二進(jìn)制到文本(binary-to-text)的編碼規(guī)則,使得二進(jìn)制數(shù)據(jù)在解釋成 radix-64 的表現(xiàn)形式后能夠用 ASCII 字符串的格式表示出來。

BASE64 編碼普遍應(yīng)用于需要通過被設(shè)計(jì)為處理文本數(shù)據(jù)的媒介上儲(chǔ)存和傳輸二進(jìn)制數(shù)據(jù)而需要編碼該二進(jìn)制數(shù)據(jù)的場景。這樣是為了保證數(shù)據(jù)的完整并且不用在傳輸過程中修改這些數(shù)據(jù)。

BASE64 要求把每三個(gè)8Bit的字節(jié)轉(zhuǎn)換為四個(gè)6Bit的字節(jié)(38 = 46 = 24),然后把6Bit再添兩位高位0,組成四個(gè)8Bit的字節(jié),也就是說,轉(zhuǎn)換后的字符串理論上將要比原來的長1/3。

BCD

BCD編碼,全稱 Binary-Coded Decimal?,簡稱BCD,又叫二-十進(jìn)制代碼。

BCD編碼是一種二進(jìn)制的編碼形式,是用二進(jìn)制編碼的十進(jìn)制代碼。

將一個(gè)十進(jìn)制數(shù)存儲(chǔ)到計(jì)算中時(shí),直接將十進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的BCD編碼比將十進(jìn)制數(shù)通過除法取余轉(zhuǎn)成二進(jìn)制再存儲(chǔ)效率要高很多。

UNICODE 

Unicode,就像它的名字都所表示的,這是一種統(tǒng)一的對所有符號(hào)的編碼。

世界上存在著多種編碼方式,同一個(gè)二進(jìn)制數(shù)字可以被解釋成不同的符號(hào)。

因此,要想打開一個(gè)文本文件,就必須知道它的編碼方式,否則用錯(cuò)誤的編碼方式解讀,就會(huì)出現(xiàn)亂碼。

UNICODE只是一種字符編碼的集合,對如何存儲(chǔ)卻沒有明確的規(guī)定,UNICODE目前普遍采用的是UCS-2(Unicode Character Set),即兩個(gè)字節(jié)來編碼一個(gè)字符,但是實(shí)際上有些字符可能需要3個(gè)字節(jié)甚至4個(gè)字節(jié)才能編碼。

UNICODE有Bom頭(Byte Order Mark),Bom頭就是2個(gè)字節(jié),即FF FE,用來表示存儲(chǔ)方式是大端還是小端。如果文檔開頭的2個(gè)字節(jié)是FF FE,則是小端,F(xiàn)E FF 則是大端。

UTF8

互聯(lián)網(wǎng)的普及,強(qiáng)烈要求出現(xiàn)一種統(tǒng)一的編碼方式。

UTF-8 就是在互聯(lián)網(wǎng)上使用最廣的一種 Unicode 的實(shí)現(xiàn)方式。

其他實(shí)現(xiàn)方式還包括 UTF-16(字符用兩個(gè)字節(jié)或四個(gè)字節(jié)表示)和 UTF-32(字符用四個(gè)字節(jié)表示),不過在互聯(lián)網(wǎng)上基本不用。

重復(fù)一遍,這里的關(guān)系是,UTF-8 是 Unicode 的實(shí)現(xiàn)方式之一。

UTF-8 最大的一個(gè)特點(diǎn),就是它是一種變長的編碼方式。

它可以使用1~4個(gè)字節(jié)表示一個(gè)符號(hào),根據(jù)不同的符號(hào)而變化字節(jié)長度。

UTF-8 的編碼規(guī)則很簡單,只有二條:

1)對于單字節(jié)的符號(hào),字節(jié)的第一位設(shè)為0,后面7位為這個(gè)符號(hào)的 Unicode 碼。因此對于英語字母,UTF-8 編碼和 ASCII 碼是相同的。

2)對于n字節(jié)的符號(hào)(n > 1),第一個(gè)字節(jié)的前n位都設(shè)為1,第n + 1位設(shè)為0,后面字節(jié)的前兩位一律設(shè)為10。剩下的沒有提及的二進(jìn)制位,全部為這個(gè)符號(hào)的 Unicode 碼。

ANSI

ANSI是美國國家標(biāo)準(zhǔn)學(xué)會(huì)的編碼。嚴(yán)格來說也不是一種編碼,而且只存在于windows系統(tǒng)中。

對于英文來說,ANSI代表ASCII編碼,對于簡體中文來說,ANSI代表GB2312編碼(只針對 Windows 簡體中文版,如果是繁體中文版會(huì)采用 Big5 碼)。

GB2312

簡體中文常見的編碼方式,使用2個(gè)字節(jié)表示一個(gè)漢字,大約可以表示65536個(gè)漢字。

感謝各位的閱讀,以上就是“編碼的類型有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對編碼的類型有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI