国标 GB2312-80 全部汉字与图形符号排列成 94×94 的一张大表,每一行称为一个“区”(01 区 ~ 94 区),每一列称为一个“位”(01 位 ~ 94 位)。

区\位 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 … 94
01   、 。 · ˉ ˇ ¨ 〃 ‘ ’ “ ” 〔 〕 〈 … 〓
… … … … … … … … … … … … … … … … … …
16 啊 阿 埃 挨 哎 唉 哀 皑 癌 蔼 矮 艾 碍 爱 隘 … 剥
17 薄 雹 保 堡 饱 宝 抱 报 暴 豹 鲍 爆 杯 碑 悲 … 炳
18 病 并 玻 菠 播 拨 钵 波 博 勃 搏 铂 箔 伯 帛 … 猖
19 场 尝 常 长 偿 肠 厂 敞 畅 唱 倡 超 抄 钞 朝 … 楚
20 础 储 矗 搐 触 处 揣 川 穿 椽 传 船 喘 串 疮 … 逮
21 怠 耽 担 丹 单 郸 掸 胆 旦 氮 但 惮 淡 诞 弹 … 叠
22 丁 盯 叮 钉 顶 鼎 锭 定 订 丢 东 冬 董 懂 动 … 二
23 贰 发 罚 筏 伐 乏 阀 法 珐 藩 帆 番 翻 樊 矾 … 服
24 浮 涪 福 袱 弗 甫 抚 辅 俯 釜 斧 脯 腑 府 腐 … 羹
… … … … … … … … … … … … … … … … … …
94                                  
汉字的机内码由高、低字节两个字节组成,它们分别是区码和位码加 160 得到的。即:

高字节 = 区码 + 160
低字节 = 位码 + 160
·············································································································································
1、输入汉字的代码,使得输出为汉字。

#include<stdio.h>int main()
{char high,low;int code;scanf("%d",&code);high = code / 100 + 160;low = code %100 + 160 ;printf("%c%c",high,low);return 0;
}


···································································································································································

2、输入汉字 求其汉字代码

#include<stdio.h>int main()
{unsigned char high,low;int code;scanf("%c%c",&high,&low);    code = (high - 160) * 100 + low - 160;printf("%04d\n",code);return 0;
}


有两处需要注意的关键点:
i.定义high,low 要用unsigned char ,即使数据类型如int不加unsigned 默认是signed, 但是对插入类型没有标准的规定。

ii.printf("%04d\n",code);
其中的“04”不可去,这句话是:code不足四位前面补0,防止区码为0x(01,02······)的数错乱。

区号和位号分别加上160,再分别转换成十六进制数,就成为四位的十六进制GB2312国家标准编码(简称国标码)。

····································································································································································

#include<iostream>
using namespace std;int main()
{char a[4];char high,low;int i;for(i = 0 ; i < 4 ; i ++){cin>>a[i];}for(i = 0 ; i < 4 ; i ++){switch(a[i]){case '0':a[i] = 0;break;case '1':a[i] = 1;break;case '2':a[i] = 2;break;case '3':a[i] = 3;break;case '4':a[i] = 4;break;case '5':a[i] = 5;break;case '6':a[i] = 6;break;case '7':a[i] = 7;break;case '8':a[i] = 8;break;case '9':a[i] = 9;break;case 'a':a[i] = 10;break;case 'b':a[i] = 11;break;case 'c':a[i] = 12;break;case 'd':a[i] = 13;break;case 'e':a[i] = 14;break;case 'f':a[i] = 15;break;default:break;}}for(int j = 0 ; j < 2 ; j ++){high = a[j] * 16 + a[++j];}for(int j = 2 ; j < 4 ; j ++){low = a[j] * 16 + a[++j];}putchar(high);putchar(low);return 0;
}


·································································································································································

#include<iostream>
#include<stdio.h>
using namespace std;struct{int temp1;int temp2;
}a[2];
int main()
{int i;unsigned char high,low;scanf("%c%c", &high , &low);//high = 176  low = 174  转为十六进制 //printf("%d %d",high,low);char a[4] = {'a','b','c','d'};int b[4];b[0] = high / 16;//11b[1] = high % 16;//0b[2] = low / 16;//10b[3] = low % 16;//14for(i = 0 ; i < 4 ; i ++){switch(b[i]){case 0:a[i] = '0';break;case 1:a[i] = '1';break;case 2:a[i] = '2';break;case 3:a[i] = '3';break;case 4:a[i] = '4';break;case 5:a[i] = '5';break;case 6:a[i] = '6';break;case 7:a[i] = '7';break;case 8:a[i] = '8';break;case 9:a[i] = '9';break;case 10:a[i] = 'a';break;case 11:a[i] =' b';break;case 12:a[i] = 'c';break;case 13:a[i] = 'd';break;case 14:a[i] = 'e';break;case 15:a[i] = 'f';break;} }for(i = 0 ; i < 4 ; i ++){printf("%c",a[i]);}cout<<endl;return 0;
}

汉字区位码---非常浅显的知识点相关推荐

  1. 概率论符号_考研概率论知识点总结1

    关于2021考研的小伙伴这里是概率论基础第一章知识点的总结,废话不多全是干货! ------------------------------------------------------------ ...

  2. 后端开发需要学什么_都2020年了,还在纠结学什么语言?| 后端篇

    几个礼拜前,一个学弟问我: "Ray,我打算之后要找工作了,不过现在自己没有特别深入的语言,最近想找一门好好学一下,你觉得学什么语言好呀?" 我表示:"这个要看你求职方向 ...

  3. 实习技术员的基本功(十一)

    序言: 大家好,本篇是实习技术员的完结篇.整个实习技术员这一季,都是一些浅显的知识点.一些平时经常碰到,用到的知识.其实这一季并不代表着实习员期间应该学习到的所有,而是很小的一部分.我只是抛砖引玉了一 ...

  4. 进击的PM:作为产品总监,你需要具备什么样的能力?

    进击的PM:作为产品总监,你需要具备什么样的能力? 在产品进阶的路上,作为PM究竟需要发展哪些方面的能力呢? 一.战略性思维 战略,就是可以引导我们走向理想未来的一个计划或者方法.明确我们的目标,并为 ...

  5. 百度竞价排名曝光_百度爱采购的三大优势,及如何发优质商品。

    最近想做产品推广,了解了很多平台,今天就百度爱采购这个和大家一起学习和熟悉下,废话不多说,直接上正题. 在百度爱采购上线之前,很多企业做网络推广的主要方式是花重金做CPC点击付费或SEO优化,但有了百 ...

  6. Java锁机制了解一下

    前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍 只有光头才能变强! 本文章主要讲的是Java多线程加锁机制,有两种: Synchro ...

  7. 【高考】人生的第一次转折

    前言: 十年寒窗无人问,一举成名天下知"!对于高中生活我们回想一起来只有一个字"累":仔细回想经历高考那么多年以后,对于高中生活和高考还是那么的印象深刻,毕竟在那个年龄承 ...

  8. Flutter学习之路(一)

    作为一名实际开发近10年的Android程序员,对于前端技术不断的更新,有着自己的迷茫,不过身边有人在不断学习和进步,倍感压力. 闲言少叙,开始正题,众所周知flutter是谷歌的移动UI框架,可以快 ...

  9. 如何发布百度爱采购的优质商品去运营推广@运营猫工具箱

    运营猫推广快订单是百度爱采购苏州服务商"江苏一网推网络技术有限公司"以及百度爱采购上海服务商"上海企顶顶网络技术有限公司"为百度爱采购商家提供的一款高效发布,快 ...

  10. 32岁转行,月薪18000,什么水平?

    职场危机让我产生转行的想法 我今年已经32岁了,大学学习的是工程类专业,毕业后直接就进入一家国企,进军建筑行业了,这一干就是将近十年,当然薪资上也是随着年龄和能力的提升越来越高了,最高时能到两万八,因 ...

最新文章

  1. 使用Redis存储Nginx+Tomcat负载均衡集群的Session
  2. Windows 2008 R2 SP1部署Exchange2010 SP1(原创)
  3. 页面适配的小栗子 - github
  4. linux下指数函数,用GeoGebra画指数函数图像、查看函数变化轨迹
  5. gpg keys for php 5.5,Fedora解决/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64问题
  6. PhotoSwipe 图片浏览插件使用方法
  7. JAVA 泛型中的通配符 T,E,K,V,?
  8. 只靠自己的飞鸽传书想象和推断
  9. SparkStreaming找不到reduceByKey的解决方法
  10. 电力系统服务器故障预案,电网预案推演系统及电网预案推演方法
  11. 蓝桥杯51单片机之独立按键控制数码管【单片机开发初学者必学会】
  12. Opencv之生成Halcon标定板
  13. MySQL创建视图的语法格式,MySQL如何创建视图
  14. linux 占用缓存前10_MySQL基于linux的内存分析
  15. paip.系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本。服务器存储空间不足,无法处理此命令
  16. 四川大学计算机学院保研规定,2020四川大学计算机学院保研夏令营通知
  17. linux下可以输入中文曲,Ubuntu 14.04终端模式下中文输入听歌
  18. 每一个成年男人在算法中都是好色之徒
  19. python是什么类型需要_python数据类型是什么
  20. 华硕vm510l最大支持多大内存_华硕vm510l与w519l区别

热门文章

  1. 阿里矢量库图标在线链接的使用方法,引入,改变大小与颜色
  2. 计算机输入输出设计原则,交互设计精髓4中的104条设计原则
  3. Java多商户商城源码 PC+小程序+APP源码+H5 B2B2C商城源码
  4. 有趣的计算机黑科技,6个让你欲罢不能的电脑黑科技软件,我一定要分享出来!...
  5. MOSSE相关滤波目标跟踪论文
  6. C++打印ASCLL码表
  7. tongweb自动部署_Tomcat、TongWeb5.0、TongWeb6.0部署solr
  8. xmind8完整版下载(超详解 图文预警)
  9. java小游戏飞机大战,java飞机大战小游戏
  10. Vue导出excel文件