- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 语言是如何用 16 点阵方法输出汉字的三篇
第 1 条
抄送语言如何使用语言?如何使用 1616 点阵方式输出汉
字?到目前为止,我们为人机交互提示或菜单编写的 C 程序都是英
文的。那么,在没有本地化的涡轮集成开发环境中,如何对汉字显示
进行编程呢?要解决这个编程问题, 我们必须首先了解汉字编码和字
库的知识。
根据对汉字使用频率的研究,汉字可分为约 100个高频字、
3000 个普通字、 4000 个次普通字、 8000 个稀有字和 45000 个死字,
即 15000 个常用汉字。
1981 年,我国公布了《通信用汉字基本集》及其交换码标
准 GB2312-80,将高频词、常用词、和次常用词组合成总共 6763 个
汉字集。在这个集合中, 3755 个一级汉字按拼音 =0 排序, 3008 个二
级汉字按部首排序,加上 700 个西文字母、数字、图形符号等。
国家标准汉字集 GB231280 是以汉字操作系统中的汉字库的
形式提供的。
汉字库的结构有一个统一的规定,即字库分为 94 个区域,
每个区域有 94 个用位区分的汉字,每个汉字在汉字库中有一个确定
的区域,位编号使用两个字节,这就是所谓的区号。区号的第一个字
节代表区号,第二个字节代表比特数。因此,一旦知道了区号,就可
以知道字库中汉字的地址, 并且每个汉字都以点阵的形式存储在字库
中。如果通常采用 1616 点阵,每个点用一个二进制表示,并且存储
1 的点。显示时,屏幕上会显示一个亮点,而带有 0 的点不会显示在
屏幕上。因此,根据上述原理,存储有某个单词的 1616 点阵信息被
直接用于在显示器上显示,并且相应的汉字将出现。
内码汉字用两个字节表示, 国家制定了统一的标准, 称为国
家标准码。
国家标准代码规定每个字节使用以下 7 位,第一位为 0。
为了区分 ASCII 码和英语,当在计算机上使用国家标准码
时,每字节汉字的第一位被设置为 1,以表示这两个字节是汉字,这
被称为内码。
以 “大 ”字为例,内码 3473H0011010001110011在内码和内码
之间有一定的转换公式,即 16 位区号,两个字节各加 80H 成为国家
代码。
存储在字库中的汉字图案的位置是根据汉字的位置代码确
定的,内码是汉字在计算机中的表示。
由于区号和内码之间有固定的转换关系, 当在支持汉字输入
的系统中,键盘输入的汉字的内码存在于程序中时, 它被转换成区号,
从字库中找到相应的汉字模式, 然后通过相关的位操作和循环语句来
判断每个字节的每一位,就像过滤一样,如果一位是 1, 然后根据
设置的颜色在屏幕的相应位置画点 ( 使用在图形中显示像素点的
putpixel 函数 .h)。 如果位为 0,则不画点,这样汉字就可以按照预设
的颜色显示在相应的位置。
内部码到区号的转换如果汉字的内部码是十六进制数
h2h1l2l1,区号 qh 相数 wh 分别是 qhh2h 1-0xa 0;wh
原创力文档


文档评论(0)