




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)表示與信息編碼2024年2月2日1、數(shù)和數(shù)據(jù)概述2、數(shù)制:常用進(jìn)制、二進(jìn)制的基本運(yùn)算、數(shù)制轉(zhuǎn)換3、計(jì)算機(jī)中數(shù)的表示:
機(jī)器數(shù)和原碼、反碼和補(bǔ)碼、定點(diǎn)和浮點(diǎn)數(shù)4、文本和文檔:
ASCII、Unicode編碼、
漢字編碼、文檔5、數(shù)據(jù)壓縮:霍夫曼編碼、行程長度編碼、有損壓縮內(nèi)容概要現(xiàn)實(shí)世界中存在各種形式的數(shù)據(jù)(數(shù)字、字符、圖,視頻等),但在計(jì)算機(jī)中只有二進(jìn)制數(shù)表示的各種計(jì)算使用的數(shù)、表示虛擬世界的各種形態(tài)的碼,因此,二進(jìn)制是計(jì)算機(jī)數(shù)據(jù)的基礎(chǔ)。計(jì)算機(jī)是一個(gè)數(shù)字系統(tǒng),它是一種電子產(chǎn)品,它的基本電路是邏輯電路。數(shù)字邏輯也是計(jì)算機(jī)中重要的計(jì)算類型,計(jì)算機(jī)科學(xué)家們?cè)诙M(jìn)制和邏輯值之間建立了一種獨(dú)特的聯(lián)系,使得它們成為了計(jì)算機(jī)的計(jì)算的基礎(chǔ)。現(xiàn)代計(jì)算機(jī)的能夠做的事情已經(jīng)遠(yuǎn)遠(yuǎn)超出了單純的“計(jì)算”的范疇,但無論數(shù)據(jù)的外部形態(tài)是圖、視頻還是文字,在計(jì)算機(jī)底層,所有信息都是以0或1的數(shù)字形式存在的。
數(shù)和數(shù)據(jù)概述數(shù)和數(shù)據(jù)概述
人類日常使用的十進(jìn)制,數(shù)碼和運(yùn)算符號(hào)多,運(yùn)算規(guī)則也過于復(fù)雜。在計(jì)算機(jī)誕生的那個(gè)年代,電子技術(shù)才開始起步,能夠使用的電子器件只有是外形如同白灼燈泡的電子管,沒有足夠的技術(shù)條件實(shí)現(xiàn)復(fù)雜的計(jì)算。因此,只有兩個(gè)數(shù)碼的二進(jìn)制就成了很自然的選擇。二進(jìn)制容易使用物理器件表示,例如,開關(guān)的開、合,電壓的高、低,磁極化的有、無等。二進(jìn)制是所有計(jì)數(shù)系統(tǒng)中最簡單的,它的數(shù)位有一個(gè)專業(yè)的名字:比特(bit)。比特一詞,有時(shí)候成了虛擬狀態(tài)的代名詞。
在計(jì)算機(jī)中,不管數(shù)據(jù)表示的是什么,其功能之一就是進(jìn)行數(shù)字計(jì)算(Arithmetic),另一個(gè)功能是進(jìn)行邏輯運(yùn)算。因此,二進(jìn)制和計(jì)算機(jī)邏輯是計(jì)算機(jī)科學(xué)的重要基礎(chǔ)。數(shù)制的表示:多項(xiàng)式表示或叫權(quán)系數(shù)表示法R基數(shù),R進(jìn)制Ai,數(shù)符(碼),第i位數(shù)碼(0,1,……R-1)Ri,權(quán)系數(shù),權(quán)重-m,小數(shù)部分n-1,整數(shù)部分
R進(jìn)制:逢R進(jìn)1數(shù)制:計(jì)數(shù)的方法,是指多位數(shù)中每一位的構(gòu)成方法以及實(shí)現(xiàn)從低位到高位的進(jìn)位規(guī)則,也叫進(jìn)制,數(shù)學(xué)家研究數(shù)制的規(guī)則和規(guī)律,在計(jì)算機(jī)科學(xué)中,則要實(shí)現(xiàn)數(shù)制的規(guī)則和規(guī)律,并通過數(shù)字電路實(shí)現(xiàn)計(jì)算功能。常見的有2,8,10,16進(jìn)制常用進(jìn)制:十進(jìn)制(DecimalSystem),0~9共10個(gè)數(shù)碼符號(hào)381.52=3×102+8×101+1×100+5×10-1+2×10-2二進(jìn)制(BinarySystem,后綴B,如1101B),0、1兩個(gè)數(shù)碼符號(hào)
二進(jìn)制的位(bit,比特),二進(jìn)制的位(bit,比特)是計(jì)算機(jī)處理
的最小單位,逢2進(jìn)1101011012=1×27+0×26+1×25+0×24+1×23+1×22+0×21+1×20
計(jì)算機(jī)選擇用二進(jìn)制的原因是二進(jìn)制容易被電路實(shí)現(xiàn)八進(jìn)制(OctalSystem,后綴Q,如113Q),0-7共8個(gè)數(shù)碼,逢8進(jìn)1
8=23一位八進(jìn)制對(duì)應(yīng)于三位二進(jìn)制十六進(jìn)制(HexadecimalSystem,后綴H),0-9,A、B、C、D、E、F,如FEEEH或(FEEE)16,逢16進(jìn)116=24,4位二進(jìn)制和1位十六進(jìn)制對(duì)應(yīng)常用進(jìn)制數(shù)碼對(duì)應(yīng)關(guān)系二進(jìn)制<>八進(jìn)制
以小數(shù)點(diǎn)為界,分別將3位二進(jìn)制與1位八進(jìn)制對(duì)應(yīng)二進(jìn)制<>十六進(jìn)制
以小數(shù)點(diǎn)為界,分別將4位二進(jìn)制與1位十六進(jìn)制對(duì)應(yīng)數(shù)制轉(zhuǎn)換1、任何進(jìn)制轉(zhuǎn)換為十進(jìn)制:多項(xiàng)式展開求和2、任意進(jìn)制整數(shù)
R進(jìn)制整數(shù)(除R取余,最后的余數(shù)是最高位)對(duì)R求余(modulo)后的商再次對(duì)R求余,直到商等于03、任意進(jìn)制小數(shù)轉(zhuǎn)換(乘R取整,第一個(gè)整數(shù)是小數(shù)部分最高位直到部分積為0或滿足要求為止)Example:123410hexResult:123410=4D216建議:10進(jìn)制到8進(jìn)制:10進(jìn)制到2進(jìn)制到8進(jìn)制10進(jìn)制到16進(jìn)制:10進(jìn)制到2進(jìn)制到16進(jìn)制8進(jìn)制到16進(jìn)制:8進(jìn)制到2進(jìn)制到16進(jìn)制數(shù)制轉(zhuǎn)換1234Mod16余數(shù)為2(低位),商為7777Mod16余數(shù)為13(D),
商為44Mod16余數(shù)為4(高位),商為0任何進(jìn)制的數(shù),按本節(jié)開始所示的多項(xiàng)式展開后相加的結(jié)果就是十進(jìn)制。二進(jìn)制就是按照二進(jìn)制多項(xiàng)式展開。例如,轉(zhuǎn)換101001102為十進(jìn)制的展開求和如下:1×27+0×26+1×25+0×24+0×23+1×22+1×21+0×20=128+32+4+2=16610十進(jìn)制轉(zhuǎn)換為二進(jìn)制:
十進(jìn)制整數(shù)部分用2整除,余數(shù)按順序組合即得對(duì)應(yīng)的二進(jìn)制。例如,將45轉(zhuǎn)換為二進(jìn)制的整除,結(jié)果是余數(shù)從高到最后按序得101101(最后的余數(shù)是最高位)同樣,十進(jìn)制小數(shù)部分乘以2,將進(jìn)位按序組合。例如:10進(jìn)制的0.625轉(zhuǎn)換為2進(jìn)制,轉(zhuǎn)換過程如下:
0.625×2 積為1.25 進(jìn)位位為1(高位) 小數(shù)部分積0.25 0.25×2 積為0.5 進(jìn)位位為0 小數(shù)部分積0.5 0.5×2 積為1.0 進(jìn)位位為1(低位) 小數(shù)部分積0將進(jìn)位為從高到低排列的結(jié)果0.101,就是十進(jìn)制數(shù)0.625對(duì)應(yīng)的二進(jìn)制。有時(shí)部分積是一個(gè)無限循環(huán)或不循環(huán)的小數(shù),這時(shí)只需考慮轉(zhuǎn)換前后的精度相當(dāng)即可。數(shù)制轉(zhuǎn)換例子數(shù)制轉(zhuǎn)換例子:十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)17310=101011012數(shù)制轉(zhuǎn)換例子:十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)0.812510=0.1101二進(jìn)制的基本運(yùn)算規(guī)則CPU中的多位二進(jìn)制數(shù)之間乘除的一般運(yùn)算原理就是根據(jù)相應(yīng)的算法用CPU的硬件電路逐位移位,相加實(shí)現(xiàn)運(yùn)算計(jì)算機(jī)中的數(shù)(可以進(jìn)行數(shù)學(xué)運(yùn)算的)問題:符號(hào)的表示?很小的數(shù),大的數(shù)的表示?思路:約定相應(yīng)的規(guī)則(定點(diǎn)數(shù),浮點(diǎn)數(shù),原碼,反碼,補(bǔ)碼等)任何情況下,計(jì)算機(jī)內(nèi)部僅使用二進(jìn)制機(jī)器數(shù):帶符號(hào)的二進(jìn)制數(shù),數(shù)在計(jì)算機(jī)內(nèi)部的表示符號(hào)數(shù)值化,一般用單符號(hào)來表示:最高位0,正數(shù)最高位1,負(fù)數(shù)Example:+1011010機(jī)器數(shù)為01011010-1011010 機(jī)器數(shù)為11011010
原碼n位二進(jìn)制數(shù)原碼,最高位被設(shè)置為符號(hào)位,其后的n-1位表示真值。注意:計(jì)算機(jī)中使用定長格式的數(shù)據(jù)例如:+661或-661的機(jī)器16位原碼表示為:
+661:0000001010010101
-661:1000001010010101原碼的特點(diǎn):簡單直觀用原碼可以比較方便地進(jìn)行乘法運(yùn)算:尾數(shù)相乘,符號(hào)位簡單相加法就可以得到乘積
缺點(diǎn):使用原碼進(jìn)行減法,硬件電路實(shí)現(xiàn)困難,因?yàn)橐袛嘟Y(jié)果符號(hào)。因?yàn)橛迷a進(jìn)行減法運(yùn)算復(fù)雜,CPU內(nèi)部的電路也復(fù)雜,所以常采用補(bǔ)碼表示另外約定:機(jī)器數(shù)在計(jì)算機(jī)中采用定長數(shù)(若干個(gè)字節(jié))來表示,參加運(yùn)算的結(jié)果只能在定長范圍內(nèi)。另外約定:超出長度的,溢出(Overflow),即若干位的機(jī)器數(shù)表示都有相應(yīng)的表示范圍,如8位原碼整數(shù)表示的范圍為-127到+127原碼表示法反碼的定義是:一個(gè)正數(shù)的反碼就是它的原碼,負(fù)數(shù)的反碼其最高位(符號(hào)位)為1,其余各位按位求反例如,+1010010
8位形式的反碼為01010010
-
1010010
8位形式的反碼為10101101例如,16位有符號(hào)數(shù)661:0000001010010101=+661反碼1111110101101010=-661反碼表示法補(bǔ)碼的定義是:正數(shù)的補(bǔ)碼等于它的原碼,負(fù)數(shù)的補(bǔ)碼等于它的反碼加1(最低位加1,進(jìn)位不改變符號(hào)位)例如,+1010010的補(bǔ)碼為01010010 -
1010010的補(bǔ)碼為10101110如數(shù)-661取補(bǔ),先取反
1111110101101010 再+1
1111110101101011(符號(hào)位保持不變,如果最高位進(jìn)位則丟失)補(bǔ)碼一個(gè)有意思的特性是:補(bǔ)碼的補(bǔ)碼將還原為原碼計(jì)算機(jī)內(nèi)部存儲(chǔ)一般用補(bǔ)碼形式,將符號(hào)位與其他位可以統(tǒng)一處理,補(bǔ)碼用于簡化減法運(yùn)算補(bǔ)碼表示法Example:十進(jìn)制的a=11和b=-10,用5位二進(jìn)制
a補(bǔ)=a原=01011b原=11010,b反=10101,b補(bǔ)=10110使用補(bǔ)碼計(jì)算a和b之和補(bǔ)碼實(shí)現(xiàn)減法運(yùn)算(減法變加法)
01011
a補(bǔ)碼,符號(hào)位為0+ 10110 b補(bǔ)碼,符號(hào)位為11 00001 產(chǎn)生的進(jìn)位,丟掉注意:補(bǔ)碼表示的數(shù)符號(hào)位也一起參與運(yùn)算,不用單獨(dú)處理,簡化了運(yùn)算計(jì)算機(jī)內(nèi)部運(yùn)算的數(shù)使用補(bǔ)碼表示好處:簡化算法,便于CPU硬件電路實(shí)現(xiàn)如加,減運(yùn)算,兩數(shù)用補(bǔ)碼表示,結(jié)果也是補(bǔ)碼形式,對(duì)結(jié)果再次求補(bǔ)碼運(yùn)算就是結(jié)果的原碼形式。(補(bǔ)碼的補(bǔ)碼就是原碼)現(xiàn)在已研究出了補(bǔ)碼表示的加,減,乘,除的各種算法,CPU內(nèi)的運(yùn)算器根據(jù)這些算法來實(shí)現(xiàn)多位二進(jìn)制數(shù)的運(yùn)算,這些算法此處不再展開介紹定點(diǎn)純小數(shù),定點(diǎn)純整數(shù)定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某一位置,分為:定點(diǎn)純小數(shù)格式,定點(diǎn)純整數(shù)數(shù)格式浮點(diǎn)數(shù)以指數(shù)形式表示如32位二進(jìn)制浮點(diǎn)格式如下:定點(diǎn)數(shù)和浮點(diǎn)數(shù)Example:01001010110101000000000000000000Result: +0.65625×2-21定點(diǎn)純小數(shù)格式:定點(diǎn)純小數(shù)格式是把小數(shù)點(diǎn)固定在數(shù)值部分最高位的左邊,符號(hào)位的右邊,它的絕對(duì)值小于1定點(diǎn)純整數(shù)格式:定點(diǎn)純整數(shù)格式:把小數(shù)點(diǎn)固定在數(shù)值部分最低位的右邊(可省略)定點(diǎn)數(shù)處理要求的硬件比較簡單,但它的表示范圍有限,因此就有了數(shù)的浮點(diǎn)表示。浮點(diǎn)數(shù)格式:數(shù)的符號(hào)+階碼和思想來源于科學(xué)計(jì)數(shù)法(指數(shù))容許的數(shù)值范圍大,現(xiàn)在的CPU內(nèi)部直接有浮點(diǎn)數(shù)運(yùn)算器缺點(diǎn):浮點(diǎn)數(shù)形式表示的數(shù)的加減乘除算法更復(fù)雜,即CPU的處理硬件復(fù)雜數(shù)學(xué)中的科學(xué)計(jì)數(shù)法是指用指數(shù)表示數(shù)的范圍。計(jì)算機(jī)參照科學(xué)計(jì)數(shù)法,用浮點(diǎn)數(shù)表示數(shù)值較大或者精度較高的數(shù)。浮點(diǎn)數(shù)分階碼和尾數(shù)兩部分,階碼類似數(shù)學(xué)中的數(shù)的指數(shù)部分,它也是一個(gè)帶符號(hào)的整數(shù)。尾數(shù)表示數(shù)的有效數(shù)值,一般采用純小數(shù)形式階碼:小數(shù)點(diǎn)位置——帶符號(hào)的整數(shù)——類似于數(shù)學(xué)中數(shù)的指數(shù)部分尾數(shù)表示數(shù)的有效數(shù)值:純小數(shù)如-34500=-0.1000011011000100
21610001000010000110110001000000000浮點(diǎn)數(shù)表示法為了提高浮點(diǎn)數(shù)表示的精度,規(guī)定其尾數(shù)的最高位必須是非零的有效位,稱為浮點(diǎn)數(shù)的規(guī)格化形式。浮點(diǎn)數(shù)的表示范圍取決于階碼值,精度取決于尾數(shù)。目前計(jì)算機(jī)中使用的浮點(diǎn)數(shù)標(biāo)準(zhǔn)是IEEE(電氣和電子工程師協(xié)會(huì))所定義的,有單精度(32位)和雙精度(64為)兩種類型
由于浮點(diǎn)運(yùn)算比較復(fù)雜,CPU中都有處理浮點(diǎn)運(yùn)算的專門部件。浮點(diǎn)運(yùn)算能力已經(jīng)成為衡量計(jì)算機(jī)性能的主要指標(biāo)。如我國超級(jí)計(jì)算機(jī)神威太湖之光的計(jì)算速度為93PetaFLOPS(Peta=1015,F(xiàn)LOPS,F(xiàn)Loating-pointOperationsperSecond,每秒浮點(diǎn)運(yùn)算次數(shù))。浮點(diǎn)數(shù)表示法二進(jìn)制和計(jì)算機(jī)邏輯是計(jì)算機(jī)科學(xué)的重要基礎(chǔ)。計(jì)算機(jī)采用的是統(tǒng)一的數(shù)據(jù)表示方法,使用二進(jìn)制表示數(shù)據(jù)。選擇二進(jìn)制易于使用物理器件表示,其數(shù)碼1和0可對(duì)應(yīng)邏輯值的真、假。數(shù)制被稱為計(jì)數(shù)體制,是指數(shù)位的構(gòu)成方法和低位向高位進(jìn)位的規(guī)則,也叫進(jìn)制。常用的進(jìn)制有二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制。二進(jìn)制的數(shù)碼為0和1,十進(jìn)制有0~9共10個(gè)數(shù)碼。任何數(shù)制的數(shù),展開其多項(xiàng)式并求和即可以得到十進(jìn)制。機(jī)器數(shù)(ComputerNumber)是帶符號(hào)的二進(jìn)制數(shù),最高位為符號(hào)位,0表示正,1表示負(fù),符號(hào)后的數(shù)為尾數(shù)。計(jì)算機(jī)使用定點(diǎn)數(shù)和浮點(diǎn)數(shù)兩類格式化數(shù)據(jù)。計(jì)算機(jī)用補(bǔ)數(shù)實(shí)現(xiàn)減法運(yùn)算。計(jì)算機(jī)中的數(shù)據(jù)都是定長的,數(shù)據(jù)溢出是計(jì)算機(jī)中經(jīng)常會(huì)遇到的問題。小結(jié):計(jì)算機(jī)底層的狀態(tài)是0和1,但它們可以通過組合為各種序列,用來表示多種對(duì)象而成為數(shù)據(jù)。數(shù)據(jù)科學(xué)(DataScience)就是以數(shù)據(jù)為研究內(nèi)容的科學(xué)。計(jì)算機(jī)能夠幫助人類做很多事,但它使用的是最簡單的二進(jìn)制,最簡單的數(shù)碼0和1,被組合成能夠表示現(xiàn)實(shí)世界的各種狀態(tài)。因此,我們將數(shù)據(jù)定義為:在計(jì)算機(jī)中存儲(chǔ)、運(yùn)算、交換和管理的所有的0和1。通過各種傳感器,現(xiàn)代電子技術(shù)能夠?qū)F(xiàn)實(shí)世界的物理信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可以接受和存儲(chǔ)的數(shù)據(jù)。因此聲音、圖像、圖形、視頻等都可以以數(shù)據(jù)的形式被計(jì)算機(jī)處理。在數(shù)據(jù)科學(xué)中,將數(shù)值、文本、語音、圖形、圖像、視頻、動(dòng)畫數(shù)據(jù)叫做多媒體(Multi-Media)數(shù)據(jù)。文本音頻圖像圖形視頻動(dòng)畫
結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)網(wǎng)頁數(shù)據(jù)
流媒體二進(jìn)制(數(shù)值和邏輯值)圖3-1數(shù)據(jù)類型文本和文檔前面介紹的二進(jìn)制數(shù)是機(jī)器內(nèi)部的狀態(tài)表示,可以表示數(shù),也可以是邏輯狀態(tài)。數(shù)值是數(shù)據(jù),邏輯值也是數(shù)據(jù),它們是數(shù)據(jù)中的基礎(chǔ)表示。計(jì)算機(jī)使用二進(jìn)制序列表示了很多數(shù)據(jù)形式。如果對(duì)這些數(shù)據(jù)形式分類,最簡單的是分為兩類:數(shù)和碼?,F(xiàn)實(shí)中各種數(shù)據(jù)在計(jì)算機(jī)內(nèi)部仍然是二進(jìn)制形式存在的。需要特別指出的,計(jì)算機(jī)中每一種形式的數(shù)據(jù)都需要相應(yīng)的程序進(jìn)行編碼和解析,由應(yīng)用程序?qū)⑵浣忉尀樘囟ǖ谋硎緦?duì)象。
文本有編碼,其他類型的數(shù)據(jù),如音頻、視頻也都有其編碼和標(biāo)準(zhǔn)。不管是哪一種數(shù)據(jù),只要有數(shù)據(jù)存儲(chǔ)和交換的需要就需要采用同一種編碼標(biāo)準(zhǔn)。
計(jì)算機(jī)有很豐富的數(shù)據(jù)類型,現(xiàn)在有各種媒體數(shù)據(jù)的名詞,除了多媒體之外,還有“富媒體”、“流媒體”、“超媒體”、“數(shù)字媒體”等,這些都是基于多媒體基礎(chǔ)之上的包括數(shù)據(jù)和對(duì)數(shù)據(jù)處理或傳輸?shù)姆椒?,而這些方法本身也是數(shù)據(jù)。
多媒體數(shù)據(jù)也是計(jì)算機(jī)中的0和1的組合,但這些組合被賦予了不同的含義,或代表一個(gè)字符,或代表一種顏色,或代表一種音量。如果把0和1的組合看作是數(shù)字,它就可以被計(jì)算,如果將一種組合看作是一個(gè)符號(hào)或者特定的標(biāo)記,那么就可以對(duì)其變換、加工、存儲(chǔ)、傳輸?shù)?,因此,?shù)據(jù)處理就是根據(jù)數(shù)據(jù)所表示的不同對(duì)象而進(jìn)行不同的“計(jì)算”,而這個(gè)過程是通過計(jì)算機(jī)程序?qū)崿F(xiàn)的。文本和文檔文本和文檔計(jì)算機(jī)的數(shù)據(jù):計(jì)算機(jī)中存儲(chǔ)、運(yùn)算、交換和管理的所有的0和1兩類數(shù)據(jù):數(shù)和碼數(shù)(number):一般情況下,可以進(jìn)行各種算術(shù)運(yùn)算。用來表示要計(jì)算的數(shù),如補(bǔ)碼表示法的數(shù)00000111,即+7碼(Code編碼集):按一定規(guī)則用若干位二進(jìn)制標(biāo)記特定對(duì)象(依賴于具體的編碼集),編碼的目的是為了對(duì)特定的對(duì)象進(jìn)行唯一標(biāo)識(shí),以便檢索、交換和處理。編碼需要按照一定的規(guī)則,這些規(guī)則就叫做“碼制(CodeSystem)”文本和文檔文本文本由字符組成,每個(gè)字符是符合某種編碼標(biāo)準(zhǔn)的定長的二進(jìn)制代碼文本數(shù)據(jù)一系列的符合某種字符編碼的二進(jìn)制序列編碼的目的是為了對(duì)特定的對(duì)象進(jìn)行唯一標(biāo)識(shí),以便檢索、交換和處理。編碼需要按照一定的規(guī)則,這些規(guī)則就叫做“碼制(CodeSystem)”常用字符編碼標(biāo)準(zhǔn)(碼制)ASCIIUnicode漢字編碼(區(qū)位碼,國標(biāo)碼,漢字機(jī)內(nèi)碼)ASCIIASCII,7位二進(jìn)制編碼,由美國國家標(biāo)準(zhǔn)局(ANSI)制定,可表示128個(gè)字符AmericanStandardCodeforInformationInterchange,美國標(biāo)準(zhǔn)信息交換碼表示文本字符數(shù)據(jù):英文字母、數(shù)字、和常用符號(hào)被確定為國際標(biāo)準(zhǔn)ISO/IEC646擴(kuò)展ASCII(Latin-1),8位編碼,參見附錄常見字符的ASCII碼值(10進(jìn)制形式)09數(shù)字鍵
: ASCII48,49,…,57az小寫字母鍵: ASCII6590AZ大寫字符鍵:ASCII97122其他符號(hào)鍵:參見附錄字母轉(zhuǎn)換:(在一些編程語言中可以進(jìn)行ASCII碼值的運(yùn)算來實(shí)現(xiàn))小寫to大寫-32大寫to小寫+32Unicode(
統(tǒng)一碼、單一碼、萬國碼)Apple公司發(fā)起Unicode協(xié)會(huì)開發(fā)表示幾乎世界上所有書寫語言的字符編碼標(biāo)準(zhǔn)Unicode碼是計(jì)算機(jī)科學(xué)領(lǐng)域里的一項(xiàng)業(yè)界標(biāo)準(zhǔn),包括字符集、編碼方案等。Unicode是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語言、跨平臺(tái)進(jìn)行文本轉(zhuǎn)換、處理的要求。1992年Unicode被確定為國際標(biāo)準(zhǔn)ISO10646,使之成為了用于世界范圍各種語言文字的文本形式的字符集,其中也包含了漢字。目前所有的計(jì)算機(jī)都支持Unicode編碼。UnicodeUnicode16(還有:Unicode32)雙字節(jié),現(xiàn)在計(jì)算機(jī)主要使用unicode16,unicode16兼容ASCII字符集Example,字符“計(jì)算機(jī)”
Unicode16碼為:十六進(jìn)制:8BA17B97673A計(jì)算機(jī)內(nèi)部的實(shí)際二進(jìn)制:100010111010000101111011100101110110011100111010Unicode多字節(jié)編碼問題多字節(jié)的編碼在不同計(jì)算機(jī)中順序問題:例如字符A,單字節(jié)41(hex)雙字節(jié)Unicode可以是0041或4100(此處為16進(jìn)制形式),如何解決?用:UTFUnicode碼并不是存儲(chǔ)器中的編碼,使用時(shí)是把Unicode編碼轉(zhuǎn)換字節(jié)或位,UTF編碼就起這個(gè)作用。
UTFUnicodeTransformationFormat它確定了unicode字符轉(zhuǎn)換格式,以適應(yīng)其他不同字符編碼標(biāo)準(zhǔn)的兼容解決不同系統(tǒng)的編碼順序問題,例如UTF8,UTF16,UTF32,常用的是UTF8Unicode實(shí)現(xiàn)漢字?jǐn)?shù)量大,編碼需要更多的二進(jìn)制位。漢字除了簡體、繁體,還包括日本和韓國的漢字。漢字排序方法也比單字節(jié)的英語來得復(fù)雜,有拼音、部首、筆畫等。因此,在帶有中文處理的系統(tǒng)中,需要有專門的漢字處理程序,例如,漢字輸入(法)程序??紤]到系統(tǒng)的兼容性和計(jì)算機(jī)原為西文產(chǎn)品,因此中文系統(tǒng)擴(kuò)展了ASCII,增加了漢字的編碼。我國的漢字編碼是強(qiáng)制性的國家標(biāo)準(zhǔn),“適用于圖形字符信息的處理、交換、存儲(chǔ)、傳輸、顯現(xiàn)、輸入和輸出”,不但是指機(jī)器(計(jì)算機(jī)、各種帶處理器的終端設(shè)備,如智能手機(jī)),也指各種中文處理軟件,如辦公系統(tǒng)、財(cái)務(wù)系統(tǒng)等漢字編碼中文系統(tǒng)擴(kuò)展了ASCII,制定了漢字相應(yīng)的國家強(qiáng)制標(biāo)準(zhǔn),發(fā)展歷程:1980國家頒布的漢字國家編碼標(biāo)準(zhǔn)GB2312-1980簡化字6763個(gè),總計(jì)7445個(gè)字符,而港澳臺(tái)地區(qū)使用繁體漢字使用BIG5編碼。1993年的GBK擴(kuò)展?jié)h字編碼標(biāo)準(zhǔn),是GB2312-1980的擴(kuò)展,共收錄了2.1萬多個(gè)漢字,GBK支持ISO10646即Unicode中的全部中、日、韓漢字、BIG5中的所有繁體字。
GB18030編碼,2005版超大型中文編碼字符集,漢字和字符7萬余個(gè)可變4字節(jié)編碼:常用字符字節(jié)數(shù)少區(qū)位碼:某漢字在國家標(biāo)準(zhǔn)的位置,區(qū)位碼經(jīng)過處理變換后成為某漢字的國標(biāo)碼,再經(jīng)過處理變換后就成為該漢字在計(jì)算機(jī)內(nèi)部的編碼:漢字內(nèi)碼漢字編碼(區(qū)位碼,國標(biāo)碼,漢字機(jī)內(nèi)碼(兩個(gè)字節(jié)))
GB18030-2005版采用的是可變4字節(jié)編碼,有CJK統(tǒng)一漢字(China、Japan、Korea)和我國少數(shù)民族文字字符(如藏、蒙古、傣、彝、朝鮮、維吾爾文)的字形等。漢字編碼和Unicode并不完全是兼容的,因此需要有變換和處理。事實(shí)上,它們還不是一回事:GB漢字編碼標(biāo)準(zhǔn)給出的是編碼要求,即字符被保存的格式,而Unicode是給出了字符的編號(hào),沒有規(guī)定這個(gè)字符如何表示(保存)。因此需要通過程序在不同編碼標(biāo)準(zhǔn)之間進(jìn)行轉(zhuǎn)換,如上述的UTF。例如,Windows就通過一種“代碼頁(codepage)”來適用計(jì)算機(jī)所在的國家和地區(qū)的編碼要求。漢字編碼
文檔是文本的擴(kuò)展,包括文本字符編碼和特征碼,如字體、字型,大小和字符之外的其他數(shù)據(jù)類型如排版格式不同的應(yīng)用軟件會(huì)支持不同的文檔格式,如文字處理系統(tǒng)WPS和WORD它們的文檔格式是不一樣的文檔數(shù)據(jù)壓縮顯然,多媒體數(shù)據(jù)的體量大,為了快速、有效地實(shí)現(xiàn)其傳輸,這類數(shù)據(jù)更需要數(shù)據(jù)壓縮技術(shù)。從系統(tǒng)的角度看,壓縮就是對(duì)原數(shù)據(jù)進(jìn)行重新編碼的方法,重新編碼的過程就是計(jì)算過程,因此就需要有相應(yīng)的計(jì)算方法,這就是壓縮編碼方法。有很多種壓縮編碼,各有其應(yīng)用領(lǐng)域。數(shù)據(jù)壓縮各種數(shù)據(jù)都有編碼標(biāo)準(zhǔn),文本有編碼,其他類型的數(shù)據(jù),如音頻、視頻也都有其編碼和標(biāo)準(zhǔn)。不管是哪一種數(shù)據(jù),只要有數(shù)據(jù)存儲(chǔ)和交換的需要就需要采用同一種編碼標(biāo)準(zhǔn)。字符編碼一般是等長編碼如前述的ASCII,UNICODE碼等有時(shí)為了節(jié)省存儲(chǔ)空間等原因要對(duì)各種數(shù)據(jù)進(jìn)行壓縮,所以發(fā)展和研究了各種壓縮技術(shù):無損壓縮:解壓后的數(shù)據(jù)和壓縮的數(shù)據(jù)相同,多用于文本數(shù)據(jù)的壓縮有損壓縮:解壓后的數(shù)據(jù)不能完全重現(xiàn)壓縮前的數(shù)據(jù),往往用于多媒體數(shù)據(jù)的壓縮霍夫曼編碼(DavidHuffman),屬于無損壓縮霍夫曼編碼的原理是:首先對(duì)要壓縮的所有數(shù)據(jù)進(jìn)行掃描,計(jì)算數(shù)據(jù)中不同碼字出現(xiàn)的頻率(次數(shù))。再根據(jù)不同碼字出現(xiàn)的概率,確定最高頻率的碼字使用最短的霍夫曼碼,以此類推,最少出現(xiàn)的碼字使用最長的霍夫曼碼字。用不同長度的碼字表示不同的字符,經(jīng)常出現(xiàn)的碼較短,很少出現(xiàn)的碼字較長數(shù)據(jù)的總長度變小,存儲(chǔ)空間小,傳輸快是一種頻率相關(guān)編碼(Frequency-dependentencoding)數(shù)據(jù)壓縮霍夫曼編碼我們通過一個(gè)簡單例子具體解釋霍夫曼編碼:設(shè)一個(gè)數(shù)據(jù)集中有5種字符,分別以A~E表示,其中A出現(xiàn)的次數(shù)最多,其霍夫曼碼最短,依次排列,E出現(xiàn)的次數(shù)最少,E的霍夫曼碼最長。按照字符出現(xiàn)次數(shù)分配的碼字如表所示。如果采用等長碼,每個(gè)字符需要3位,所需總碼位171;霍夫曼編碼需要的總碼位為120,與等長碼相比,壓縮比0.7。Example:霍夫曼編碼霍夫曼壓縮后的編碼需要解碼,它的一個(gè)重要特征是在解碼時(shí),對(duì)壓縮碼序列從左往右掃描,每當(dāng)發(fā)現(xiàn)一個(gè)位串(二進(jìn)制序列)對(duì)應(yīng)表中霍夫曼碼字,那么這個(gè)位串就一定表示對(duì)應(yīng)該碼字的字符,也就是說,霍夫曼碼是沒有重碼的?;舴蚵幋a是有序無損壓縮。霍夫曼編碼應(yīng)用范圍很廣,在文本文檔、音視頻和圖像編碼中都有應(yīng)用。還有一種也是常用于圖像壓縮編碼的方法叫算術(shù)編碼?;舴蚵菍?duì)字符(或等長字節(jié))編碼,為有序碼,而算術(shù)編碼是無序碼。算術(shù)編碼是根據(jù)整個(gè)數(shù)據(jù)中符號(hào)的概率和它的編碼間隔,經(jīng)過計(jì)算最終得到的結(jié)果區(qū)間是一個(gè)0到1之間的小數(shù)。解壓時(shí)使用該小數(shù)與模型參數(shù)即可以解碼重建得到該符號(hào)序列。霍夫曼編碼在某些應(yīng)用中,一個(gè)編碼可能是連續(xù)出現(xiàn)的,例如,圖像中某一段區(qū)域的顏色是相同的,那么這一段顏色的編碼是一個(gè)連續(xù)的序列。行程長度編碼(RunLengthEncoding,RLE)或稱游程編碼就是用于圖像編碼的。在圖像中,總有連續(xù)區(qū)域具有相同的顏色,此時(shí)就不需要為這個(gè)區(qū)域的每一個(gè)顏色點(diǎn)保存數(shù)據(jù),只需要記錄一個(gè)顏色數(shù)據(jù)和這個(gè)顏色點(diǎn)的數(shù)目就行了,這個(gè)數(shù)目就是行程長度。RLE壓縮算法簡單,屬于無損壓縮,解壓快,應(yīng)用廣泛,在文本數(shù)據(jù)、音頻、圖像數(shù)據(jù)中有較為廣泛的應(yīng)用。Windows系統(tǒng)的256色顯示模式下,RLE是首選的壓縮編碼技術(shù)。RLE編碼(行程長度編碼)Example:一段紅色線的長度有200
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人保財(cái)險(xiǎn)車險(xiǎn)合同范本
- 保理人合同范本
- 勞務(wù)派遣合同范本 司機(jī)
- 包工頭與臨時(shí)工人合同范本
- 勞務(wù)合同單包工合同范本
- 企業(yè)合同范本封面
- 勞務(wù)用工結(jié)算合同范本
- 單位采購書合同范本
- 醫(yī)院影像科合同范本
- 與商城簽約合同范本
- 第九屆鵬程杯五年級(jí)數(shù)學(xué)競賽初試真題
- 實(shí)驗(yàn)一 外科常用手術(shù)器械課件
- 電梯結(jié)構(gòu)與原理-第2版-全套課件
- 《現(xiàn)代漢語》語音教學(xué)上課用課件
- 采購流程各部門關(guān)系圖
- 《遙感導(dǎo)論》全套課件
- 力士樂工程機(jī)械液壓培訓(xùn)資料(共7篇)課件
- 村光伏發(fā)電申請(qǐng)書
- 降低混凝土路面裂縫發(fā)生率QC小組資料
- 【教師必備】部編版四年級(jí)語文上冊(cè)第二單元【集體備課】
- 支氣管擴(kuò)張的護(hù)理PPT
評(píng)論
0/150
提交評(píng)論