汉字区位码转换为“汉字ASCII码“
**仅供个人学习使用,如有问题欢迎提出**
每个汉字及符号都有一个区位码,即每个汉字有一个区号(两位十进制)和一个位号(两位十进制)。一共分了94个区,每个区中有94个汉字。
并且也有与其相对应的“汉字ASCII码”,也称汉字机内码,指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码。输入码被接受后就由汉字操作系统的“输入码转换模块”转换为机内码,与所采用的键盘输入法无关。机内码是汉字最基本的编码,不管是什么汉字系统和汉字输入方法,输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理。
其中转换过程如下: 从键盘输入一个汉字外码,转换模块会获得其区位码,如“啊”的区号为16,位号为1,然后会将其转换为国际码汉字的国标码可以在区位码基础上换算得到:国标码=(区位码的十六进制表示)+2020H(十六进制数后加H以用于辨识) 以“啊”为例:
区位码 00010000 00000001
+2020H 00100000 00100000
国际码 0011 0000 00100001
得到“啊”的国标码为:3021H 随后还要便要将国际码转换危机内码进行存储,机内码和国标码的转换规则是:机内码 = 国标码+8080H =(区位码的十六进制表示)+A0A0H。显然,就是将国标码的两个字节的最高位均置为1。
国际码 00110000 00100001
+8080H 00110000 00100000
机内码 10110000 10100001
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1,机内码也不例外,并且负数在内存中是以补码的方式存储的,很明显“啊”的机内码表示一个负数,现在将其转换为原码:11010000 1101111,再两个十六进制数转换成十进制,分别是 -80 -95,也就是“啊“所对应的”汉字ASCII码 “ ,可以使用字符数组来进行验证
int main()
{
char c[2];
c[0]=-80;
c[1]=-95;
printf("c=%c",c);
return 0;
具体国标(GB2312-80)汉字编码对照表
汉字区位码转换为“汉字ASCII码“相关推荐
- 【python】将字符串转换为十进制ASCII码
名副其实,将字符串转换为一个个十进制ASCII码的操作,本文章用python2.7的环境去完成 先上脚本 print(map(ord,"hello world")) 这样就能把一整 ...
- 26个英文字母如何转换为二进制ASCII码
首先我们要知道26个英文字母实际上对应着97-122这26个十进制数字,也就是对应的ASCII码,然后我们把他们转换为二进制前面加0就可以了. #include<stdio.h>int m ...
- asic码转16进制c语言,十六进制数转换成ascii码
本文收集整理关于十六进制数转换成ascii码的相关议题,使用内容导航快速到达. 内容导航: Q1:一个十六进制数转换成ASCII码的单片机程序 HASC:MOVA,R0:从R0中取一个16进制(二进制 ...
- 如何使汉字转换为国际化的ascii码
如何使汉字转换为国际化的ascii码 方法一: 1)点击开始按钮,单击运行,输入cmd: 2)进入jdk所在跟目录,例如我的jdk在D盘的跟目录下,我便进入D盘: 3)进入jd ...
- php中ascii转换为中文,PHP——汉字完美转为ASCII码
前言 对接联通的接口,让我学会了不少PHP偏门函数....,主要对方用的py,我这用的PHP,人家一个函数解决了, 我这还要自己写方法,也是比较蛋疼,但是学到东西还是很开心的~ 代码 字符串转为ASC ...
- ASCII码和汉字码
国家标准汉字字符集GB2312-80共收集了共7445个汉字和图形符号,其中汉字6763个,分为二级,一级汉字3755个,二级汉字3008个. 汉字图形符号根据其位置将其分为94个"区&qu ...
- 汉字的ascii码值范围_ASCII代码
同学们,我们都知道计算机只能接受二进制信息,很显然直接给出英文的ABCD计算机并不认识,那为何敲击键盘屏幕就可以显示出对应的字符呢? 为了解决这个问题,计算机采用一套编码,每个编码都是唯一的,对应键盘 ...
- STM32串口通信代码、ASCII码、XU4串口通信,printf只会转换为无符号类型,linux下的串口通信程序
1.其里面的的通信协议是是自己定的,这里 是检测到数据的结尾是以0x0d.0x0a结尾,则表示接受的数据完成了,这个数据是我想要的,这样子就不会出现一些错乱的数据信息.其中的0x8000.0x4000 ...
- python汉字转到ascii码_python中字母与ascii码的相互转换
在做python编程时,碰到了需要将字母转换成ascii码的,原本以为用Int()就可以直接将字符串转换成整形了,可是int()带了一个默认参数,base=10,这里表示的是十进制,若出现字母,则会报 ...
- 【Python】字符转换为 ASCII 码
ord 函数将单个字符转换为 ASCII 码, chr相反 print(ord('A'),ord('b'))print(list(map(ord,['a','z','c'])))print(list( ...
最新文章
- Top 10 Mistakes Java Developers Make(转)
- java ref 应用类型_Java四种引用类型
- Vue 组件间通信六种方式
- 微服务落地践行渐进,4个QA一窥金融微服务现状
- pythonATM,购物车项目实战_补充5-interface接口
- 应力应变基础理论分析
- 北斗时钟服务器(GPS卫星同步时钟)应用电子政务系统
- 航天器/控制器飞行能够实现自主控制么?
- word选中所有图形
- RabbitMQ 报错:connection error; (reply-code=530, reply-text=NOT_ALLOWED - XXX(Hosts名) / not found)
- 工业水处理行业主要壁垒构成及重点企业分析、相关风险、处理规模
- Picsee for mac(最好的图片管理查看器)
- mysql报错 is longer than the server configured value of ‘wait_timeout‘
- 如何实现直接将文件从windows复制到ubuntu文件夹下
- android usb rndis驱动,基于安卓的rndis驱动的usb网络共享的实现
- 如何设置服务器固定ip
- Fingerprint2 获取浏览器的指纹应用(唯一标识),生成游客身份
- 博主教您如何免费获得斐讯K2—1200M千兆家用双频智能无线路由器wifi穿墙(亲测有效)...
- 伤人十指,不如断人一指
- 挑战一个人搭建一套完整直播系统5:基于阿里云搭建外网直播系统