* 漢字編碼 孫海龍 授課班級:07計算機班 復(fù)習(xí)上節(jié)課所講的內(nèi)容 1.數(shù)字編碼 2.校驗碼 3.字符編碼 計算機中的編碼 BCD碼:計算機內(nèi)部運算是二進制數(shù)所以我們輸入的十進制數(shù)就必須用二進制數(shù)表達. 我們在數(shù)據(jù)的傳輸過程中常常出現(xiàn)錯誤,為了修正錯誤采用校驗碼,有奇校驗和偶校驗.奇校驗) 1 ASCII碼美國國家信息交換 代碼 A交換完后編碼為 1000001 漢字編碼 1.區(qū)位碼 2.國標(biāo)碼 3.內(nèi)碼 本課主要 1.認識以上三種編碼 2.三種編碼之間的轉(zhuǎn)換關(guān)系 1.區(qū)位碼 漢字的區(qū)位編碼是漢字所在位置的區(qū)號和位號合起來得到的四位數(shù)字的編碼(區(qū)號在前位號在后) 例如:“啊”字的區(qū)位編碼是1601 16 01 區(qū)碼 位碼 區(qū)位碼 國家漢字區(qū)位碼查詢表 孫 海 龍 4379 2603 3390 孫海龍 2.國標(biāo)碼 當(dāng)計算機之間或與終端之間進行信息交換時,要求它們之間傳送的漢字代碼信息完全一致,國家規(guī)定了信息交換用的標(biāo)準(zhǔn)漢字交換碼“GB312-80信息交換漢字編碼字符集(基本集)”,即國標(biāo)碼(由兩個字節(jié)組成,分高、低字節(jié))。 國標(biāo)碼共收集了7445個圖形字符 其中漢字6763個,其中一級漢字3755個 二級漢字3008個 一般符號、數(shù)字、拉丁字母、希臘字母、 漢語拼音等709個。 一級漢字占16區(qū)——55區(qū) 二級漢字占56區(qū)——87區(qū) 例如:“波”字的區(qū)位編碼為1808 例如:“百”字的區(qū)位碼為5716 如何得到一個漢字的國標(biāo)碼? (前提條件必須知道這個漢字的區(qū)位碼) 轉(zhuǎn)換公式 國標(biāo)碼高字節(jié)=區(qū)碼+20H 國標(biāo)碼低字節(jié)=位碼+20H 例如:“啊”字的區(qū)位碼為1601 利用公式做題之前先將此漢字的區(qū)碼和位碼的10進制數(shù)均轉(zhuǎn)換成16進制數(shù) 高字節(jié)在前低字節(jié)在后組合成國標(biāo)碼 國標(biāo)碼高字節(jié)=區(qū)碼(10H)+20H=30H 國標(biāo)碼低字節(jié)=位碼(01H)+20H=21H 例如:“啊”字的區(qū)位碼為1601 區(qū)碼16的十六進制數(shù)為 16 16 1 0 10H(區(qū)碼) 位碼01的十六進制數(shù)為 01 16 0 01 01H(位碼) 所以“啊”字的國標(biāo)碼為3021H 練習(xí):“波”字的區(qū)位碼為1808,則國標(biāo)碼為多少? 區(qū)碼18轉(zhuǎn)換十六進制數(shù) 18 16 1 2 12H 位碼08轉(zhuǎn)換十六進制數(shù) 08 16 0 08 08H 國標(biāo)碼高字節(jié)=區(qū)碼(12H)+20H=32H 國標(biāo)碼低字節(jié)=位碼(08H)+20H=28H 所以“波”字的國標(biāo)碼為3228H 3.內(nèi)碼 漢字在計算機內(nèi)部存儲、運算的信息代碼稱為漢字的內(nèi)碼(由兩個字節(jié)組成,分高、底字節(jié)) (1)已知區(qū)位碼求內(nèi)碼的公式 內(nèi)碼高字節(jié)=區(qū)碼+A0 內(nèi)碼低字節(jié)=位碼+A0 (2)已知國標(biāo)碼求內(nèi)碼的公式 內(nèi)碼高字節(jié)=國標(biāo)碼高字節(jié)+80H 內(nèi)碼低字節(jié)=國標(biāo)碼低字節(jié)+80H 高低字節(jié)組成內(nèi)碼 高低字節(jié)組成內(nèi)碼 例如:“啊”字的區(qū)位碼為1601求內(nèi)碼 區(qū)碼16的十六進制數(shù)為10H 位碼01的十六進制數(shù)為01H 內(nèi)碼高字節(jié)=區(qū)碼 (10H)+A0=B0H 內(nèi)碼低字節(jié)=位碼 (01H)+A0=A1H 所以“啊”字的內(nèi)碼為B0A1H (1)已知區(qū)位碼求內(nèi)碼 例如:“波”字的國標(biāo)碼為3228H ,則內(nèi)碼為多少? (2)已知國標(biāo)碼求內(nèi)碼 內(nèi)碼高字節(jié)=國標(biāo)碼高字節(jié)(32H)+80H=B2H 內(nèi)碼低字節(jié)=國標(biāo)碼低字節(jié)(28H) +80H=A8H 所以“波”字的 內(nèi)碼為B2A8H 練習(xí)(1):已知漢字“海”的區(qū)位碼為2603,計算內(nèi)碼為? 26 16 1 A 1AH(區(qū)碼) 區(qū)碼26轉(zhuǎn)換十六進制數(shù) 位碼03轉(zhuǎn)換十六進制數(shù) 03 16 0 03 03H(位碼) 內(nèi)碼高字節(jié)=區(qū)碼 (1AH)+A0=BAH 內(nèi)碼低字節(jié)=位碼 (03H)+A0=A3H 所以“?!弊值膬?nèi)碼為BAA3H 練習(xí)(2):已知漢字“龍”的國標(biāo)碼為417AH,計算內(nèi)碼為? 內(nèi)碼高字節(jié)=國標(biāo)碼高字節(jié)41H+80H=C1H 內(nèi)碼低字節(jié)=國標(biāo)碼低字節(jié)7AH+80H=FAH 所以漢字“龍”的內(nèi)碼為C1FAH “中”的區(qū)位碼為:5448 “綜”的區(qū)位碼為:5559 “合”的區(qū)位碼為:2647 “高”的區(qū)位碼為:2463 練習(xí)(3)將下列各字表示的區(qū)位碼轉(zhuǎn)換為國標(biāo)碼、內(nèi)碼。 國標(biāo)碼為575BH 內(nèi)碼為D7DBH 國標(biāo)碼為3A4FH 內(nèi)碼為BACFH 國標(biāo)碼為385FH 內(nèi)碼為B8DFH 國標(biāo)碼為5650H 內(nèi)碼為D6D0H *
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。