国家标准汉字字符集GB2312-80共收集了共7445个汉字和图形符号,其中汉字6763个,分为二级,

一级汉字3755个,二级汉字3008个。汉字图形符号根据其位置将其分为94个“区”,

每个区包含94个汉字字符,每个汉字字符又称为一个“位”。区的序号和位的序号都是从01到94,

UCDOS软件中的文件HZK16和文件ASC16分别为16×16的国标汉字点阵文件和8×16的ASCII码点阵文件,

以二进制格式存储。在文件HZK16中,按汉字区位码从小到大依次存有国标区位码表中的所有汉字,

每个汉字占用32个字节,每个区为94个汉字。在文件ASC16中按ASCII码从小到大依次存有

8×16的ASCII码点阵,每个ASCII码占用16个字节。

国家标准汉字字符集GB2312-80共收集了共7445个汉字和图形符号,其中汉字6763个,分为二级,

一级汉字3755个,二级汉字3008个。汉字图形符号根据其位置将其分为94个“区”,

每个区包含94个汉字字符,每个汉字字符又称为一个“位”。区的序号和位的序号都是从01到94,

UCDOS软件中的文件HZK16和文件ASC16分别为16×16的国标汉字点阵文件和8×16的ASCII码点阵文件,

以二进制格式存储。在文件HZK16中,按汉字区位码从小到大依次存有国标区位码表中的所有汉字,

每个汉字占用32个字节,每个区为94个汉字。在文件ASC16中按ASCII码从小到大依次存有

8×16的ASCII码点阵,每个ASCII码占用16个字节。

在PC机的文本文件中,汉字是以机内码的形式存储的,每个汉字占用两个字节:第一个字节为区码,

为了与ASCII码区别,范围从十六进制的0A1H开始(小于80H的为ASCII码字符),

对应区位码中区码的第一区;第二个字节为位码,范围也是从0A1H开始,对应某区中的第一个位码。

这样,将汉字机内码减去0A0AH就得该汉字的区位码。

例如汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。

所以“房”的区位码为0B7BFH-0A0A0H=171FH。将区码和位码分别转换为十进制得汉字“房”的

区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZK16中的

位置为第32×[(23-1) ×94+(31-1)]=67136B以后的32个字节为“房”的显示点阵。

ASCII码的显示与汉字的显示原理相同,在ASC16文件中不存在机内码的问题,

其显示点阵直接按ASCII码从小到大依次排列,不过每个ASCII码在文本中只占1个字节并且小于80h,

每个ASCII码为8X16点阵,即在ASCII16文件中,每个ASCII码的点阵也只占16个字节。

以下是读取hzk16的C部分语言代码(仅供参考):

void dis_cc(unsigned int x,unsigned int y,unsigned int color,unsigned int codeh,

unsigned int codel,unsigned int circle,unsigned int kind,unsigned int mode)

{

char word[32];

int area,bit;

long count,offset;

unsigned long count,offset;

unsigned int i,j;

area = (codeh&0x00ff)-0xa0-1; //根据机内码取得区码

bit = (codel&0x00ff)-0xa0-1; //根据机内码取得位码offset = area*94+bit; //取得偏移量

count = 32l*(long)offset;

lseek(HZK16,count,SEEK_SET);//在HZK16文件中找到点阵起始位置

j=_read(HZK16,&word[0],32);//读取32字节的点阵信息

计算机汉字显示原理,计算机汉字显示原理相关推荐

  1. 由浅入深讲解显示存储计算机基础原理

    计算机存储原理 计算机在内存中一般都是以1010101二进制的方式 计算机存储的方式一般分为三种 CPU 内存 磁盘 机械盘 固态盘 其中CPU和内存都是断电之后数据就会消失,而磁盘存储断电之后就不会 ...

  2. 汉字在屏幕上的显示过程以及乱码的原因

    一.计算机中的显示原理 要想在计算机的显示器上显示文字,首先你得写一个程序,这个程序的任务就是就是把文字的显示信息发给显卡,显示信息包括在这个屏幕上的输出位置.字的大小等等.然后显卡就知道怎么显示这个 ...

  3. 汉字的动态编码与显示方案

    摘要:综合几种常用单片机汉字显示方案,提出一种基于PC机预处理的汉字动态编码和动态字库的显示方法,较好地解决了存储空间.显示速度.软件开发维护几方面的相互矛盾:具有平台化的优点,同时,给出针对MCS5 ...

  4. 基于Ubuntu系统,调用opencv在图片上显示数字和汉字

    文章目录 一.汉字编码的介绍 1.汉字编码的发展过程 (1)汉字编码产生的原因 (2)常用的汉字编码 2.区位码 (1)产生原因 (2)概念简述 (3)区域分布情况 3.机内码 (1)基本概念 (2) ...

  5. STM32的串口传输文件和点阵汉字的字模读取与显示

    文章目录 一.串口传输文件 1.题目要求 2.实验过程 二.汉字点阵原理 1.汉字编码 2.点库字库结构 3.汉字点阵获取 三.Ubuntu下显示图片和文字 1.实验要求 2.实验准备 3.编写代码 ...

  6. 计算机的系统原理,计算机系统及其工作原理

    <计算机系统及其工作原理>由会员分享,可在线阅读,更多相关<计算机系统及其工作原理(130页珍藏版)>请在人人文库网上搜索. 1.第一.第一.章.计算机系统概论.1.2计算机系 ...

  7. 嵌入式系统基础:点阵汉字的字模读取与显示

    点阵汉字的字模读取与显示 虚拟机:VitrualBox 6 系统:Ubuntu 18 函数库:OpenCV 3.4(涉及到图像编程) 文章目录 点阵汉字的字模读取与显示 一.汉字点阵字库原理 1. 汉 ...

  8. 白板体现计算机什么方面应用,白板汉字论文,关于电子白板在小学低年级识字写字教学中的运用相关参考文献资料-免费论文范文...

    导读:本文关于白板汉字论文范文,可以做为相关论文参考文献,与写作提纲思路参考. [摘 要]近年来,电子白板在小学语文新课程教学中被广泛运用.文章结合教学案例,介绍了电子白板在识字.写字教学和复习练习中 ...

  9. Ubuntu下利用Opencv进行点阵汉字的字模读取与显示

    前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容. 提示:以下是本篇文章正文内容, ...

最新文章

  1. tomcat 编译版本
  2. html表单的数据保存在哪里,提交和保存表单数据
  3. Jpg, Jpeg, Exif
  4. Android的基本常用的短信操作
  5. Word Count作业
  6. python括号匹配问题_支持通配符的括号匹配问题源码+详细流程代码(python)
  7. Docker入门-架构
  8. 49 - 算法 - Leetcode-111 -二叉树的最小深度 -递归循环
  9. NLP之路-查看获取文本语料库
  10. 行为科学统计第16章--相关
  11. jquery $.each()遍历array,map等集合
  12. Netty笔记(七)ChannelHandlers and Codes 整合
  13. 计算机开机后亮度分布不均,[教程交流]解决最低亮度黑屏和亮度不均
  14. 发言倒计时器_单面会议计时器 会议发言倒计时器
  15. ad自动布线过孔_AD15布线方法汇总
  16. 微信小程序实例教程(三)
  17. win10显示未插入扬声器或耳机的解决方案
  18. 迁移学习与Transformer架构
  19. Mac使用Excel卡顿的提升办法之一
  20. 联想微型计算机快捷键,联想笔记本电脑快捷键大全

热门文章

  1. C# 实现刻录光盘功能
  2. Java debugger模式调试
  3. linux 不能开启443端口
  4. maven上传Jar包到私服及从私服下载jar包相关配置
  5. linux0.11缓冲区管理程序阅读注释笔记
  6. 微信分享域名防屏蔽 防微信拦截网址系统
  7. iphone文件访问ftp服务器,ipad ftp服务器 iPhone/iPad访问FTP服务器设置步骤
  8. 【杂篇 · 技巧】Typora 快捷键整理
  9. 微信语音技术原理_干货 | 2 分钟论文:语音生成表情包背后的技术原理
  10. 使用钢笔工具进行抠图