中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

嵌入式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

肥西县| 遵化市| 抚州市| 新河县| 休宁县| 宜章县| 农安县| 南城县| 千阳县| 陆河县| 鄄城县| 丰镇市| 崇州市| 峨山| 浏阳市| 桃园市| 新蔡县| 昌都县| 闻喜县| 宁国市| 巫山县| 马公市| 文成县| 武夷山市| 冕宁县| 田林县| 万山特区| 民勤县| 丁青县| 苍溪县| 霍邱县| 四平市| 临沧市| 织金县| 长汀县| 辽阳县| 新竹县| 潍坊市| 阆中市| 西乌珠穆沁旗| 昭苏县|