如何实现从键盘输入汉字,然后得到汉字区位码???????

hua_zhixing_ 2009-11-15 05:22:14
#include<stdio.h>
#include<stdlib.h>
int main(){
char *a="我是中国人";
unsigned char qh,wh;
//scanf("%s",a);//如果从这里输入汉字为什么得不到汉字区位码????应该怎么做才能得到?????
while(*a)
{
qh=*(a)-0xa0; //汉字区位码
wh=*(a+1)-0xa0;
printf("%0x,%0x\n",qh,wh);
a+=2;
}
system("pause");
return 0;
}
...全文
400 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
苍蝇①号 2009-11-15
  • 打赏
  • 举报
回复
首先需要有字符环境,其次可能需要转换如使用iconv
breezes2008 2009-11-15
  • 打赏
  • 举报
回复
用32位编译器试下。
do_fork 2009-11-15
  • 打赏
  • 举报
回复
要先知道输入的汉字的编码,
他们可能是gbk的,可能是utf-8的,可能是gb2312的,
然后转换成区位码
菜鸟二号 2009-11-15
  • 打赏
  • 举报
回复
其实一个汉字是两个字节
jackyjkchen 2009-11-15
  • 打赏
  • 举报
回复
char *初始化过是静态字符串,没有初始化就是野指针,不能输入内容,现在可以


#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[10]={0};
char *a=str;
unsigned char qh,wh;
scanf("%s",a);//如果从这里输入汉字为什么得不到汉字区位码????应该怎么做才能得到?????
while(*a)
{
qh=*(a)-0xa0; //汉字区位码
wh=*(a+1)-0xa0;
printf("%0x,%0x\n",qh,wh);
a += 2;
}
system("pause");
return 0;
}

jackyjkchen 2009-11-15
  • 打赏
  • 举报
回复
头像把我吓一跳
"计算机应用基础"习题三 一、判断题 1. 在汉字系统中,我国国标汉字一律是按拼音顺序排列的。 2. 在Windows中,只要选择汉字输入法中的"输入中文符号",则在"中文半角"状态下也可输 出如顿号、引号、句号等全角的中文标点符号。 3. 输入汉字的编码方法有很多种,输入计算机后,都按各自的编码方法存储在计算机内部 ,所以在计算机内部处理汉字信息相当复杂。 4. 在用Word 97编辑文本时,若要删除文本区中某段文本的内容,可先选取该段文本,再按Delete键 。 5. 在Word 97中,建立交叉引用的项目必须在同一个主控文档中。 6. 用Word 97制作的表格大小有限制,一般表格的大小不能超过一页。 7. 在Word 97中编辑文稿,要产生文绕图的效果,只能在图文框中进行。 8. 在Word 97中,使用"查找"命令查找的内容,可以是文本和格式,也可以是它们的任意组合。 9. 删除选定的文本内容时,Delete键和退格键的功能相同。 10. Word 97中的"样式",实际上是一系列预置的排版命令,使用样式的目的是为了确保所编辑的 文稿格式编排具有一致性。 11. 为了使用户在编排文档版面格式时节省时间和减少工作量,Word 97提供了许多"模板",所谓"模板"就是文章、图形和格式编排的框架或样板。 12. Word 97中的"宏"是一系列Word命令的集合,可利用宏录制器创建宏,宏录制器不能录制文档 正文中的鼠标操作,只能录制键盘操作,但可用鼠标操作来选择命令和选择选项。 13. 在Word 97中,把表格加上实线,只能把表格变虚线,通过"格式"菜单中的"边框与底纹"进行。 14. 要在每一页中放置相同的水印,必须放在页眉和页脚中。 15. Word 97文档可以保存为"纯文本"类型。 16. 在Word 97中隐藏的文字,屏幕中仍然可以显示,但打印时不输出。 二、选择题(题头带*为多选题) 1. 在微型计算机汉字系统中,一个汉字的机内码占的字节数为 。 A.1 B.2 C.4 D.8 2. 100个32×32点阵的汉字字模信息所占的字节数为 。 A.12800 B.3200 C.32×3200 D.32×32 3. 代号为GB18030的汉字编码标准是 。 A.《信息交换用汉字编码字符集基本集》 B.《信息技术信息交换用汉字编码字符集基本集的扩充》 C.《信息处理七位和八位编码字符集代码扩充技术》 D.《信息技术通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面 》 4. 与计算机系统有关的汉字编码为 。 A.国标码 B.区位码 C.输入码 D.机内码 5. 计算机中存储信息的最小单位是 (1) ,在计算机内用来存储、交换、传输和加工处理的汉字编码是 (2) 。汉字"欢"的一种编码是"3B36H"(H为16进制),那么这是 (3) 码。 (1) A.位 B.字节 C.字 D.块 (2) A.字型码 B.国标码 C.区位码 D.机内码 (3) A.机内码 B.国标码 C.区位码 D.拼音码 6. 有100个汉字用某一种编码存储在计算机内,需占用7 200个字节的容量,这种编码属于 。 A.机内码 B.16×16点阵字型码 C.24×24点阵字型码 D.32×32点阵字型码 7. 汉字的字模库是把汉字用点阵的形式表示并存储在存储器中的,存储24×24点阵表示的6 763个一、二级汉字一种字体的字模,至少需要用不小于 的存储容量来存储。 A.480KB B.60KB C.220KB D.28KB 8. Word 97字形和字体、字号的缺省设置值是 。 A.常规型、宋体、4号 B.常规型、宋体、5号 C.常规型、宋体、6号 D.常规型、仿宋体、5号 9. Word 97允许用户选择不同的文档显示方式,如"普通"、"页面"、"大纲"、"联机版式"等视图 ,处理图形对象应在______视图中进行。 A."普通" B."页面" C."大纲" D."联机版式" 10. 在Word 97中,如果要把整个文档选定,先将光标移动到文档左侧的选定栏,然后 。 A.双击鼠标左键 B.连续击3下鼠标左键 C.单击鼠标左键 D.双击鼠标右键 11. 在Word 97文档中,要把多处同样的错误一次更正,正确的方法是 。 A.用插入光标逐字查找,先删除错误文字,再输入正确文字 B.使用"编辑"菜单中的"替换"命令 C.使用"撤消"与"恢复"命令 D.使用"定位"命令 12. 用"ATC"3个英文字母输入来代替"微软授权培训中心"8个汉字的输入,可采用 。 A.用智能输入法就能实现 B.用"工具"菜单的"拼写与语法"功能 C.用"工具"菜单的"自动更正"功能 D.用VB编程 13. 在Word 97编辑文档时,如果希望在"查找"对话框的
西南交通大学;实验(大作业)题目:C语言文件操作;实验目的: (1) 掌握C语言字符文件读写方法; (2) 掌握C语言二进制文件读写方法。 实验要求: (1) 完成2个文件操作程序。 (2) 撰写实验报告:每个程序包括源程序代码;按要求描述关键算法或算法流程图;提供程序测试结果(至少两种不同输入,可屏幕截图)与结论。 实验内容: 1. 在字符文件b.txt中录入n个整数,录入整数的分隔符为空格、换行或TAB。若n=5,则b.txt的一种正确格式为 5 9 12 -15 30 -7 即b.txt的第一个数为n,后面是n个整数。 编写程序,从文件b.txt读出n值,建立长度为n的动态1维整型数组,然后继续从文件b.txt读入n个整数存于该数组,进行由小到大排序,最后将排序结果输出到字符文件c.txt中。 要求的输出格式是每个整数%6d,每输出5个整数换一行。 实验报告中要求给出该程序的流程图。 2. 1616点阵汉字的显示。从键盘输入一个汉字,从1616点阵汉字库文件HZK16.dat中毫读取汉字点阵信息,打印汉字到控制台屏幕上(构成汉字的每个点用输出字母O表示)。 输入输出示例: 请输入一个汉字:中 O O O O OOOOOOOOOOOOOO O O O O O O O O O O O O OOOOOOOOOOOOO O O O O O O O O O 提示1:16*16点阵字库文件HZK16.dat的存储格式。 以汉字“我”为例,16*16点阵构成的字形信息用二进制编码(1表示有点,0表示无点)形成32字节,每行2个字节,共16行,如下所示。这32个字节在文件中的存储顺序为:每行从左向右,行从上到下。 16*16点阵字库文件HZK16.dat中,每个汉字(32字节字形信息)按区位码由小到大的顺序存储。以汉字“啊”为例,它的区号为16,位号为1,故它的32字节字形信息在文件中的起始字节偏移量offset=((区号-1)*94+位号-1)*32。 0000010010000000 0x04,0x80 0000111010100000 0x0E,0xA0 0111100010010000 0x78,0x90 0000100010010000 0x08,0x90 0000100010000100 0x08,0x84 1111111111111110 0xFF,0xFE 0000100010000000 0x08,0x80 0000100010010000 0x08,0x90 0000101010010000 0x0A,0x90 0000110001100000 0x0C,0x60 0001100001000000 0x18,0x40 0110100010100000 0x68,0xA0 0000100100100000 0x09,0x20 0000101000010100 0x0A,0x14 0010100000010100 0x28,0x14 0001000000001100 0x10,0x0C 提示2:GB2312-80汉字内码 GB2312-80共收录约6700多个汉字以及其它符号,用一个94行*94列的表格表示(最多可表示94*94个汉字和符号)。某个汉字所在的行号(从1开始)称为“区号”,列号(从1开始)称为“位号”,形成区位码。 如:汉字“啊”在16行,第1列,故它的区位码为(16,1)。 在存储器中,为了与ASCII码区别,用内码表示一个汉字的编码,汉字的内码为一个2字节编码,第一字节=区号+160,第2字节=位号+160,故汉字“啊”的内码为(176,161)。 已知汉字内码,则在HZK16.dat中该汉字32字节字形信息首字节的存储位置为 offset=((内码第一字节-161)*94+(内码第二节字-161))*32
  本软件是一套在windows环境下进行中文五笔字型(86版)训练和英文指法训练的辅助学习软件。
  与其他同类软件相比,本软件有以下特点:
  (1)界面绿色环保。从V1.00版开始,软件界面就考虑了环保的要求,界面中大量采用亮度适中、对比度小的图片和文字,以降低因长时间训练对用户视力的影响。
  (2)对机器硬件的要求低,磁盘和内存空间的占用小,运行速度快。
  (3)不需借助外部输入法,通过软件内部集成的五笔输入功能就可进行训练。
  (4)功能不断提升。从V1.00版升级至V4.XX版,实际上是一个训练型软件向学习+训练型软件的转型过程。
  V1.XX:具备基本的中英文训练功能(相当于DOS下的TT+WT);五笔字型编码查询程序提供的帮助功能;
  V2.00:增加中英文训练内容的定制功能;在中文输入训练中增加GB2312-80中所有汉字的五笔字根拆分图解帮助功能;在五笔字型编码查询程序中增加所有汉字的五笔字根拆分图解帮助功能;
  V2.10:在中文输入训练中增加GB2312-80中所有汉字的汉语拼音帮助功能;在五笔字型编码查询程序中增加所有汉字的汉语拼音帮助功能;
  V3.00:在英文输入训练中增加PC键盘图及指法和键位提示的功能;在中文输入训练中增加五笔字根键位和按键提示的功能;在中文输入水平测试训练中增加词组预显(绿底白字)和编码提示功能;在五笔字型编码查询程序中增加所有汉字区位码帮助功能;
  V3.10:增加界面背景定制功能;增加背景音乐定制功能;
  V3.20:在英文输入指法训练中增加指定训练内容字符串可选项,指定的字符串最大长度增加为26个字符(便于用户对五笔编码用到的25个字母进行单独训练);在中文输入键名字根训练中训练方式由连击四次对应键改为只击一次(便于用户快速牢记五笔字型25个键名字根);
  V3.30:在训练窗口中增加窗口布局按钮,用户可根据自己的使用习惯在训练的同时选择不同的窗口布局方案;
  V4.00:在中文输入训练中增加GB2312-80中所有汉字的楷体空心字拆分图解帮助功能(可按F3键切换至键位/空心字帮助提示界面实时获得帮助信息,也可按F1键临时查询帮助信息);在五笔字型编码查询程序中增加所有汉字的楷体空心字拆分图解帮助功能。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧