
4个回答
展开全部
为了区别于普通ASCII码,汉字编码一般在ASCII码之外,或者是两字节的第一字节在其之外,方法就是在汉字区位码上加一个固定的数字。但汉字有多套编码,互相不通用,可百度汉字编码了解详细信息。
为了显示汉字内码,可以在字符串中判断是否遇到汉字内码,如果是再按照编码规则解出汉字的区、位码,或者直接显示,
比如:char *str="汉字编码"; printf("%u,%u\n",(unsigned int)str[0],(unsigned int)str[1]);
用内码显示汉字即为反方向赋值,如汉字“保”的国际码为B1A3H,那么构造字符串"保“的语句如下:
char *str[256]; unsigned int *p; p=str; *p=0xa3b1; //小端模式或者 str[0]=0xb1; str[1]=0xa3;
为了显示汉字内码,可以在字符串中判断是否遇到汉字内码,如果是再按照编码规则解出汉字的区、位码,或者直接显示,
比如:char *str="汉字编码"; printf("%u,%u\n",(unsigned int)str[0],(unsigned int)str[1]);
用内码显示汉字即为反方向赋值,如汉字“保”的国际码为B1A3H,那么构造字符串"保“的语句如下:
char *str[256]; unsigned int *p; p=str; *p=0xa3b1; //小端模式或者 str[0]=0xb1; str[1]=0xa3;
追问
您百度一下 代码明信片 它输出的ascii码 怎么转换成汉字的,谢谢
另外 保 这个字是怎么计算成0xa3b1 能解释下吗?谢谢
追答
保字编码请百度“汉字国际码”
展开全部
如果的开发环境支持中文的话直接使用字符串处理就好了,char *str="汉字字符"; 将这个字符串输出就显示汉字了,一个汉字占用2个字节,故这个字符串长度为8,占用空间字节数为9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汉字编码种类太多,必须根据文件头几个二级制确定,网络的汉字编码utf-8,能搞懂汉字编码的一般没几个人,太乱了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也不懂,应该是这样吧。
char* a = "孩";
printf("%x,%x",a[0],a[1]);
char* a = "孩";
printf("%x,%x",a[0],a[1]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询