91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

嵌入式Linux_Framebuffer_04點陣顯示漢字的方法

發布時間:2021-07-12 09:30:41 來源:億速云 閱讀:301 作者:chen 欄目:互聯網科技

本篇內容主要講解“嵌入式Linux_Framebuffer_04點陣顯示漢字的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“嵌入式Linux_Framebuffer_04點陣顯示漢字的方法”吧!

中文的顯示與ASCII字符的顯示過程是一樣的

  • 確定要顯示的漢字

  • 在字庫中找到對應漢字的點陣數據

  • 使用描點函數繪制漢字點陣數據 但是與ASCII字符顯示不同的是,漢字需要注意漢字的編碼方式。C代碼源文件的編碼方式和編譯出來的程序中的漢字所使用的編碼方式也是有差別的。 注意: 一般采用ANSI或者UTF-8編碼,而不采用UTF-16編碼,因為UTF-16編碼ASCII字符也是2個字節,此時其中一個字節就是0,在C語言中0表示字符串的結束容易引起誤會。

在編寫C程序的時,不論源碼使用的ANSI還是UTF8編碼,在編譯的時候可以使用 -finput-charset=GB2312 選項來告知編譯器源碼所使用的編碼方式,如果未使用此選項,GCC會默認源碼的編碼方式是UTF-8;另外可以使用 -fexec-charset=GB2312 來設置編譯出的可執行程序中的字符是UTF8編碼。如果源碼的實際編碼方式與-finput-charset所指定的不同,后者編譯出的可執行程序的編碼方式與-fexec-charset所指定的編碼不同,編譯器會進行編碼格式轉換的。

漢字區位碼

常用漢字的點陣字庫是HZK16。HZK16里每個漢字使用32個字節來描述,如下圖所示: 嵌入式Linux_Framebuffer_04點陣顯示漢字的方法

與ASCII點陣字庫一樣,32字節中每一位代表一個像素,值為1表示點亮,為0表示熄滅。

HZK16 中是以 GB2312 編碼值來查找點陣的,以字為例,它的編碼值是0xd6d0

  • 0xd6表示區碼,表示在:0xd6-0xa1區 [每一個區中有94個漢字]

  • 0xd0表示位碼,表示它是這個區里的第0xd0-0xa1個字符

區位碼從0xa1開始并不是從0開始是為了兼容ASCII碼。所以要顯示的"中"字,它是HZK16庫里第 (0xd6-0xa1)*94+(0xd0-0xa1) 個字符。 示例源碼

到此,相信大家對“嵌入式Linux_Framebuffer_04點陣顯示漢字的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安吉县| 铁力市| SHOW| 汉沽区| 临汾市| 江津市| 莱州市| 霸州市| 郑州市| 禄丰县| 本溪| 五常市| 秭归县| 肃南| 德令哈市| 平阳县| 长垣县| 那坡县| 乌苏市| 东乌| 沙河市| 陈巴尔虎旗| 大埔区| 务川| 隆子县| 高台县| 新邵县| 兖州市| 崇阳县| 图们市| 隆子县| 田阳县| 鄂伦春自治旗| 台山市| 金川县| 洛宁县| 交城县| 溆浦县| 临泽县| 富阳市| 公安县|