日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

GB2312编码

發布時間:2024/5/24 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 GB2312编码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在區碼和位碼的基礎上,分別加上0XA0的偏移,便是GB2312編碼;

我們制作ASCII字庫時,一般只做可以顯示出來的字符字模,前面命令型的ASCII字符,我們不做字模,即從“空格開始”,ASCII表對應0x20,所以當我們使用PCtoLcd的16X16選項制作字庫時,(注意英文的實際占用的是8X16,要比漢字小半個字寬),所以,如果根據標準ASCII表制作字庫時,可以根據字符的漢字相對于“空格”的偏移找到對應字庫中的偏移地址,找到對應的字模;如找到"A"對應的字模:Address = ("A" - " ") X (8 X 16 )/8,從這個偏移地址向后連續取16個字節,即是"A"的所有字模 。

GB2312是在區位碼的地址基礎上分別偏移0xA0,每個區有94個漢字;每個漢字占用的字節為(16X16)/8=32個字節;漢字字庫的第一個字符也是“空格”,但這個是全角的和ASCII的不一樣;如我們再寫液晶驅動程序顯示一個英文字母時,void (uchar x,uchar y,uchar en) 可以這樣尋找偏移='en'-' ' 。

該空格的區位碼是“0101”,所以任意一個漢字的偏移地址公式是,Address= ( (CodeH-0x30-1)*94+(CodeL-0x30-1) )*( 16*16 )/8;CodeH是GB2312的第一個字節,CodeL是GB2312的第二個字節,減一 是因為區位碼是從第一區開始的,而字模數組表是從0開始的; (以上的計算均是按16*16取模時計算的)

當我使用單片機編程工具寫程序時,編譯的時候,編譯器會根據我們的選擇(如MDK)會自動將字符串轉換成機內碼即GB2312形式進行存儲,所以我們可以根據GB2312與區位碼的關系進行尋找地址偏移。如我們在液晶驅動程序中寫一個中文漢字顯示程序,void(uchar x,uchar y,uint16hz ) 可以這樣找區位碼,CodeH=hz>>8; CodeL=hz&0x00ff;

注意英文和漢字的參數定義類型一個是8位uchar 型的,一個是u16位int16型的,因為GB2312在系統中是占用2個字節的,英文只占用一個字節

總結

以上是生活随笔為你收集整理的GB2312编码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。