C语言中汉字也有类似ASCII码的东西么?

如题,我试过输出汉字的整型格式,例如”好“字,输出了-70和-61,这是汉字的ASCII码吗?如果是的话有没有每个汉字对应的ASCII码的库?有的话发给我,谢谢。5470... 如题,我试过输出汉字的整型格式,例如”好“字,输出了-70和-61,这是汉字的ASCII码吗?如果是的话有没有每个汉字对应的ASCII码的库?有的话发给我,谢谢。547020679@qq.com。如果不是的话能不能告诉我计算机是如何输出汉字的呢? 展开
 我来答
tattackor
2015-11-01 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:891万
展开全部
1、ASCII是用8位二进制表示的,但最高位是0,一个字符一字节。中文是用所谓机内码(参阅一下区位码、国标码、机内码的内容)表示的,一个汉字二字节,关键是最高位都是1。日文、韩文则是为其分配了不同的编码段。

2、计算机用两个字节来表示一个汉字,“我”在内存里就是这样存放的:CE D2。CE是str[0]的内容,D2是str[1]的内容。第一次循环输出str[0],但是这个字符在ASCII字符集里代表这样一个东西Î,但是Windows的命令提示符程序读取到这里就会自动使用宽字符集,也就是说,它已经准备好读取下一个字符,然后把他们当成一个字符显示出来。于是就出现了那个汉字。
恶灵的加护
2013-01-10 · TA获得超过969个赞
知道小有建树答主
回答量:492
采纳率:0%
帮助的人:496万
展开全部
ASCII编码只有256个字符,汉字用的不是ASCII编码,而是其他一些,比如Unicode和GBK,而且每个汉字要占两个字节,不同编码规则下同一个汉字的编码可能不一样,所以有时因为编码的问题会出现乱码。
追问
哦,那这两种编码是每一个汉字都有对应么?还是其他的规则。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊·梵beec
2013-01-10 · TA获得超过2160个赞
知道大有可为答主
回答量:1897
采纳率:0%
帮助的人:1381万
展开全部
既然可以从好字输出-70和-61,当然可以从整数输出汉字,用个循环,对应关系就都出来了

//汉字内码表
#include <stdio.h>
#include <conio.h>
int main(int argc, char* argv[])
{
char hanzi[8];
int i,j,k;
for(i=0xa1;i<=0xff;i++)
{
for(j=0xa1;j<0xff;j++)
{
if(j%10==0)
{
printf("\n%02x: ", i-0xa1);
}
hanzi[0] = i;
hanzi[1] = j;
hanzi[2] = 0;
printf("%s ", hanzi);
}
getch();
}
getch();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洛宁慕云露
2020-05-11 · TA获得超过3855个赞
知道大有可为答主
回答量:3170
采纳率:31%
帮助的人:266万
展开全部
ascii码指的是0~255的单字节编码。
汉字是没有ascii码值的。
同一个汉字
根据编码方式
占2~4的字节,有不同的实际码值。
要打印这个码值,最简单的方法
就是把汉字存储字符数组,然后打印字符数组的各个值。
比如
unsigned char str[]="打印汉字码值";
int i;
for(i = 0; i < sizeof(str); i ++)
printf("%02x", str[i]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changchengz0
2013-01-10 · TA获得超过127个赞
知道答主
回答量:70
采纳率:0%
帮助的人:51.6万
展开全部
//按GB2312标准打印计算机内所有汉字
#include<stdio.h>
main()
{
int i,j;
for(i=0xa1;i<0xa1+87;i++)
{
for(j=0xa1;j<0xa1+94;j++)
printf("%c%c",i,j);
printf("\n");
}
}
汉字表在GB2312中有87行、每行94个汉字。
上面的程序类似打印ASCII中的所有字符,你运行就知道结果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式