C语言中如何输出unicode编码

我想问的是在编写C语言的时候怎么去输出一个汉字或者日语韩语的unicode编码... 我想问的是在编写C语言的时候怎么去输出一个汉字或者日语韩语的unicode编码 展开
 我来答
tattackor
推荐于2017-10-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:862万
展开全部
  1. Unicode编码
       在计算机科学领域中,Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,它可以使电脑得以呈现世界上数十种文字的系统。Unicode是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。Unicode包含了超过十万个字符(在2005年,Unicode的第十万个字符被采纳且认可成为标准之一)、一组可用以作为视觉参考的代码图表、一套编码方法与一组标准字符编码、一套包含了上标字、下标字等字符特性的列举等。
        Unicode的编码方式与ISO 10646的通用字符集(Universal Character Set,UCS)概念相对应,目前实际应用的Unicode版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示216即65536个字符。基本满足各种语言的使用。实际上目前版本的Unicode尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。

  2. C++处理Unicode编码
    为了处理Unicode编码C++为每个字符处理函数提供了宽字符(wchar_t)处理函数。

    在ANSI/ISO 9899--1990也就是美国国家为程序设计语言C指定的标准(也称为ANSI C)中是这样定义的:用多个字节来代表的字符称之为宽字符,而Unicode只是宽字符编码的一种实现,宽字符并不一定是Unicode。

  3. C语言中输出unicode编码可以是用宽字符输出函数。

    下面是宽字符常用的输入输出函数表:
    打印和扫描字符串:
    宽字符函数                       描述
    fprintf()/fwprintf()             使用vararg参量的格式化输出
    fscanf()/fwscanf()             格式化读入
    printf()                              使用vararg参量的格式化输出到标准输出
    scanf()                              从标准输入的格式化读入
    sprintf()/swprintf()             根据vararg参量表格式化成字符串
    sscanf()                           以字符串作格式化读入
    vfprintf()/vfwprintf()           使用stdarg参量表格式化输出到文件
    vprintf()                             使用stdarg参量表格式化输出到标准输出
    vsprintf()/vswprintf()          格式化stdarg参量表并写到字符串

    输入和输出:
    宽字符函数     普通C函数     描述
    fgetwc()           fgetc()           从流中读入一个字符并转换为宽字符
    fgetws()           fgets()           从流中读入一个字符串并转换为宽字符串
    fputwc()           fputc()           把宽字符转换为多字节字符并且输出到标准输出
    fputws()           fputs()           把宽字符串转换为多字节字符并且输出到标准输出串
    getwc()            getc()            从标准输入中读取字符, 并且转换为宽字符
    getwchar()       getchar()       从标准输入中读取字符, 并且转换为宽字符
    None               gets()            使用fgetws()
    putwc()            putc()            把宽字符转换成多字节字符并且写到标准输出
    putwchar()        putchar()       把宽字符转换成多字节字符并且写到标准输出
    None               puts()             使用fputws()
    ungetwc()         ungetc()         把一个宽字符放回到输入流中

陈学阳
2010-09-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5436万
展开全部
对于英文来说,ascii码 0-127就足以代码所有字符,对于中文而言,则必须使用两个字节(byte)来代表一个字符,具第一个字节必须大于127(所以我们有许程序判断中文都是以ascii码大于127作为条件)
以上用两个字节来表示一个中文的方式,在习惯上称为双字节(即DBCS: Double-Byte Character Set),而相对之下,英文的字符码就称为单字节SBCS(Single-Byte Character Set)。
虽然双字节(DBCS)足以解决中英文字符混合使用情况,但对于不同字符系统而言,必须经过字符码转换,非常麻烦。例如:中英文混合情况,日文,韩文等等。
为解决这个问题,Apple, Xerox, Microsoft, IBM, Novell, Borland...很多公司联合起来制订了一套可以适用于全世界所有国家的字符码,就称为Unicode
java的内核就是Unicode为基准

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jalsy
2010-09-13 · TA获得超过239个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:267万
展开全部
控制台还是Win32的Window?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式