用C++程序理解汉字的机内码表示

用C++程序理解汉字的机内码表示汉字的编码是很多初学者不容易搞不明白的事情 最早的汉字字符集是 GB2312 80 收入汉字 6763 个 符号 715 个 总计 7478 个字符 大陆普遍使用的简体字字符集 本文借助于一个能输出这些字符的简单的 C 程序 体验汉字字符的编码 先简介一下 GB2312 80 的概况 1 区位码 每个汉字及符号都有一个区位码 即每个汉字有一个区号 两位十进制 和一个位号 两位十进制 一共分了 94 个区 每

(1)C++程序

#include <iostream> #include <cstdio> using namespace std; int main() { int i,j; char a[3]; //用两字节表示一个汉字,a[0]为第1个字节,a[1]为第2个字节 a[2]='\0'; //a[2]固定为'\0',作为保存一个汉字的字符串的结束 freopen("chineseChar.txt","w",stdout); //将输出重定向到文件,便于查看结果 for(i=1;i<=94;i++) //区号从1到94 { cout<<"=====第 "<<i<<" 区======"<<endl; a[0] = i + 0xA0; //将第1个字节变为机内码 for(j=1;j<=94;j++) //位号从1到94 { a[1] = j + 0xA0; //将第2个字节变为机内码 cout<<a<<'\t'; //输出a,里面有两字节,是i区j位汉字的机内码 if(j%10==0) cout<<endl; //每10个换一行 } cout<<endl; } return 0; }

(2)C程序

#include<stdio.h> int main() { int i,j; char a[3]; //用两字节表示一个汉字,a[0]为第1个字节,a[1]为第2个字节 a[2]='\0'; //a[2]固定为'\0',作为保存一个汉字的字符串的结束 freopen("chineseChar.txt","w",stdout); //将输出重定向到文件,便于查看结果 for(i=1;i<=94;i++) //区号从1到94 { printf("=====第 %d 区======\n",i); a[0] = i + 0xA0; //将第1个字节变为机内码 for(j=1;j<=94;j++) //位号从1到94 { a[1] = j + 0xA0; //将第2个字节变为机内码 printf("%s\r",a); //输出a,里面有两字节,是i区j位汉字的机内码 if(j%10==0) printf("\n"); //每10个换一行 } printf("\n"); } return 0; }

  程序输出的所有汉字,见本文后附件。

  有了如上的知识,试运行下面的程序,看其结果是什么,并且试着做出解释。这是在处理汉字中常见的问题。

#include <iostream> using namespace std; int main() { char a[]="汉字处理挺好玩"; cout<<a<<endl; a[1]='a'; cout<<a<<endl; a[2]='b'; cout<<a<<endl; char b[10]; b[8]='\0'; cout<<b<<endl; return 0; }

 

==================== 迂者 贺利坚 CSDN博客专栏================= |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==| |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==| |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==| ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====


附件:程序输出的所有GB2312-80汉字和字符
=====第 1 区======

  · ˉ ˇ ¨


± × ÷


°
¤ §


=====第 2 区======










=====第 3 区======






_



=====第 4 区======










=====第 5 区======










=====第 6 区======
Α Β Γ Δ Ε Ζ Η Θ Ι Κ
Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ
Φ Χ Ψ Ω
α β γ δ ε ζ η θ
ι κ λ μ ν ξ ο π ρ σ
τ υ φ χ ψ ω
︿



=====第 7 区======
А Б В Г Д Е Ё Ж З И
Й К Л М Н О П Р С Т
У Ф Х Ц Ч Ш Щ Ъ Ы Ь
Э Ю Я
а б
в г д е ё ж з и й к
л м н о п р с т у ф
х ц ч ш щ ъ ы ь э ю
я

=====第 8 区======
ā á ǎ à ē é ě è ī í
ǐ ì ō ó ǒ ò ū ú ǔ ù
ǖ ǘ ǚ ǜ ü ê ɑ ń ň
ɡ






=====第 9 区======










=====第 10 区======










=====第 11 区======










=====第 12 区======










=====第 13 区======










=====第 14 区======










=====第 15 区======










=====第 16 区======










=====第 17 区======






便



=====第 18 区======


簿







=====第 19 区======






齿



=====第 20 区======
穿

椿


蹿




=====第 21 区======







殿


=====第 22 区======








饿

=====第 23 区======



仿 访


忿



=====第 24 区======




竿

稿



=====第 25 区======






广



=====第 26 区======







鸿


=====第 27 区======

怀




贿



=====第 28 区======










=====第 29 区======




轿





=====第 30 区======










=====第 31 区======








岿

=====第 32 区======










=====第 33 区======









窿
=====第 34 区======


鹿

绿





=====第 35 区======










=====第 36 区======








尿

=====第 37 区======










=====第 38 区======










=====第 39 区======










=====第 40 区======










=====第 41 区======










=====第 42 区======
湿

使


寿




=====第 43 区======






宿



=====第 44 区======










=====第 45 区======




退





=====第 46 区======








西

=====第 47 区======






线



=====第 48 区======








婿

=====第 49 区======





沿




=====第 50 区======

耀



亿




=====第 51 区======







屿


=====第 52 区======










=====第 53 区======










=====第 54 区======










=====第 55 区======




姿





=====第 56 区======
廿
丿








=====第 57 区======










=====第 58 区======



诿






=====第 59 区======










=====第 60 区======










=====第 61 区======










=====第 62 区======










=====第 63 区======










=====第 64 区======










=====第 65 区======










=====第 66 区======










=====第 67 区======










=====第 68 区======



涿






=====第 69 区======










=====第 70 区======






驿



=====第 71 区======










=====第 72 区======










=====第 73 区======



槿






=====第 74 区======










=====第 75 区======










=====第 76 区======










=====第 77 区======










=====第 78 区======










=====第 79 区======










=====第 80 区======










=====第 81 区======










=====第 82 区======










=====第 83 区======










=====第 84 区======






羿



=====第 85 区======



趿






=====第 86 区======




鱿





=====第 87 区======










=====第 88 区======










=====第 89 区======










=====第 90 区======










=====第 91 区======










=====第 92 区======










=====第 93 区======










=====第 94 区======





























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233011.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatais的时间筛选「建议收藏」

    mybatais的时间筛选「建议收藏」mybatais的时间筛选

    2022年4月23日
    48
  • Feign原理 (图解)_feign原理

    Feign原理 (图解)_feign原理1.1简介:Feign远程调用的Feign远程调用,核心就是通过一系列的封装和处理,将以JAVA注解的方式定义的远程调用API接口,最终转换成HTTP的请求形式,然后将HTTP的请求的响应结果,解码成JAVABean,放回给调用者。Feign远程调用的基本流程,大致如下图所示。从上图可以看到,Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的Request请求。通过Feign以及JAVA的动态代理机制,使得Java…

    2022年10月5日
    2
  • 大数据开发学习,大数据学习路线(完整详细版)[通俗易懂]

    大数据开发学习,大数据学习路线(完整详细版)[通俗易懂]很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系在巨大的数据集中进行筛选的最好工具是什么?以下是…

    2022年5月2日
    45
  • golang 2021.11 激活码【2021免费激活】「建议收藏」

    (golang 2021.11 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html2JTX0APX6F-eyJsa…

    2022年3月29日
    91
  • 什么是语义分割_词法分析语法分析语义分析

    什么是语义分割_词法分析语法分析语义分析文章目录引言1混淆矩阵2语义分割PA:像素准确率CPA:类别像素准确率MPA:类别平均像素准确率IoU:交并比MIoU:平均交并比(改进,先求IoU,再求MIoU,这里有误)3综合实例步骤一:输入真实、预测图片步骤二:求出混淆矩阵步骤三:评价指标计算PACPAMPAIoUMIoU4测试代码参考引言语义分割是像素级别的分类,其常用评价指标:像素准确率(PixelAccuracy,PA…

    2022年8月21日
    6
  • 同一界面画出多个QQ图(R语言)「建议收藏」

    同一界面画出多个QQ图(R语言)「建议收藏」题目:一名研究者用光子吸收法测量了妇女骨骼中无机物含量,对三根骨头主侧和非主侧记录了测量值,数据框“T1bones.txt”中的第2至第7列记录了相应数据。对各个变量做qq图,在同一个界面画出所有的qq图,不同的qq图用不同颜色表示。文件:T1bones.txt受试者编号    主侧桡骨    桡骨    主侧肱骨    肱骨    主侧尺骨    尺骨1    1.103    1….

    2022年8月10日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号