C语言中如何用编码输出中文字符?

利用ASCII码表可以这样输出英文字符:#include<stdio.h>voidmain(){inti;i=65;printf("%c\n",i);}那么我想要用类似的... 利用ASCII码表可以这样输出英文字符:
#include<stdio.h>
void main()
{
int i;
i=65;
printf("%c\n",i);
}
那么我想要用类似的方法输出中文字符要怎么办?求大神帮忙
展开
 我来答
495006387
2012-12-28 · TA获得超过338个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:263万
展开全部
首先,你要明白这个不管是中文的字符,段首还是英文字符,还是数字等等都是编码好了的,65对应的就是A,所以你应该去看看中携燃猛文是怎么编码的,我记得好像一个汉字要用2个字节来编码,一个字节肯定不够用,最多才256个汉字嘛。另外,好像还有很多种编码方式,如ASCII\UNICODE等。祝你学得愉快。
所以
char chinese[]="中华人民共和国辩桥";
printf("字符串长度=%d\n",strlen(chinese));//输出的长度为14。
如果你只是单纯地想实现输出某些中文的变量的话,可以从文本文件中读出来。
luoxiangbin1
推荐于2017-09-08
知道答主
回答量:15
采纳率:0%
帮助的人:11.6万
展开全部
计算机用两个字节来表示一个汉字,“我”在内存里就是这样存放的:CE D2。CE是str[0]的内容,D2是str[1]的内容。第一次循环输出str[0],但是这个字符在ASCII字符集里代表这样一个东西Î(不知道在这儿能不能正常显扮槐示……),但是Windows的命令提示符程序读取到这里就会自动使用宽枣液字符凳缺物集,也就是说,它已经准备好读取下一个字符,然后把他们当成一个字符显示出来。于是就出现了那个汉字。

#include <stdio.h>
int main()
{
printf("%c%c",(char)0xce,(char)0xd2);
}
追问
#include 
int main()
{
printf("%c%c",206,210);
}
这样写也可以吗?顺便问一下要怎么找到我想输出的汉字的编码
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
2015-10-31 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:882万
展开全部

1、中文字符串可以使用printf()、puts()等函亏谨数直接输出。

#include <stdio.h>
#include <locale.h>
int main(){
    const char str[] = "这里全是中文";
    printf("\n输出字符败芹数:%d\n", printf(str));
    puts(str);
    return 0;
}

2、单个中文字符,需要进行本地化设置,需要使用宽字符版的printf()即wprintf输出察空毕。

#include <stdio.h>
#include <locale.h>
int main(){
setlocale(LC_ALL, "chs");
wchar_t wc = L'中';
wprintf(L"%c\n",wc);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千峰吉C
2012-12-28 · TA获得超过276个赞
知道小有建树答主
回答量:177
采纳率:100%
帮助的人:102万
展开全部
在开发使时常会用到资源文件,这可能是为了多语言、国际化的需要,也可能是使用了国外开源项
目的原因,这就需要中文转ascii将中文转换为 ASCII 编码,或者将 ASCII 转换为中文,那么我们就可
以使用 JDK 自带的转换工具 native2ascii 。
for example :
No1 、中文转换为 ASCII 编码
步骤: 1 、在 D 盘者笑新建 chinese.txt 文件,内容为:
parameter.project.title= 这是中文
2 、在环境变量中设置好 JDK 路径
3 、进入 doc 控制台,并进入 D 盘目录
4 、输入命令: native2ascii -encoding gb2312 chinese.txt ascii.txt 回车
那么在厅亏 D 盘目录下生成 ascii.txt 文件,内容为:
parameter.project.title=\u8fd9\u662f\u4e2d\u6ascii码 中文587

No1 、 ASCII 编码转换为中文
步骤: 1 、在 D 盘新建 ascii.txt 文件,内容为:
parameter.project.title=\u8fd9\u662f\u4e2d\u6ascii码 中文587
2 、在环境变量中设置好 JDK 路径
3 、进入 doc 控制台,并进入 D 盘目录
4 、输入命令: native2ascii -reverse -encoding UTF8 ascii.txt chinese.txt 回车
那么在 D 盘目录下生成 chinese.txt 文件,内容为:
parameter.project.title= 这是首伏含中文
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enochwills
2012-12-28 · TA获得超过4793个赞
知道大有可为答主
回答量:2031
采纳率:96%
帮助的人:1633万
展开全部
只要终端支持中文就行。比如如果在DOS下,你需要使用命令chcp 936切换为中文环境,如果返回英文环境用chcp 437。
中文编码为GB2312,羡配可以查兄裤指代码表。注意这样写unsigned short i[2]={0xABCD,0}; (假设ABCD是纯岁一个汉字)wprintf("%s\n", i);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式