英文 unicode c语言,C语言Unicode小记

#include

#include

#include

#include

const int SIZE = 100;

int main(void)

{

wchar_t wstr[SIZE];

//wchar_t wstr[] = {0x5b89, 0x5353, 0};

/*本地化,设置语言运行环境*/

setlocale(LC_ALL, "Chinese-simplified"); // locale.h

//wscanf(L"%s", wstr);

// 如果编译时遇到Illegal byte sequence错误,

// 拿CodeBlocks这个IDE来说

// 请在Settings-Compiler-Global compiler settings-Compiler settings-Other options中

// 加上-finput-charset=GBK这个编译选项

wcscpy(wstr, L"HELLO世界hello"); // stdlib.h

int i;

for (i = 0; wstr[i]; ++i)

printf("%#06X\n", wstr[i]);

wprintf(L"%ls\n", wstr);

//fputws(wstr, stdout);

return 0;

}

输出结果:

0X0048 0X0045 0X004C 0X004C 0X004F 0X4E16 0X754C 0X0068 0X0065 0X006C 0X006C 0X006F HELLO世界hello

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中,将GBK编码转换为Unicode编码的方法通常可以使用C标准库中的wchar_t类型和相关函数来实现。 首先需要了解GBK和Unicode编码之间的对应关系。GBK是中文常用字符集编码,而Unicode是国际字符集编码。因为Unicode覆盖了更广泛的字符范围,所以需要将GBK编码的字符转换为对应的Unicode编码。 C语言中提供了一些函数来完成GBK到Unicode的转换,如`mbsrtowcs`和`mbstowcs`等。这些函数的作用是将多字节字符串(GBK编码)转换为宽字符字符串Unicode编码)。 下面是一个简单的示例代码来演示如何在C语言中进行GBK到Unicode的转换: ```c #include <stdio.h> #include <locale.h> #include <wchar.h> int main() { setlocale(LC_CTYPE, ""); // 设置本地化环境 char gbkStr[] = "中文"; // GBK编码的字符串 wchar_t unicodeStr[10]; // 存储转换后的Unicode编码字符串,需要预设足够的空间 int result = mbstowcs(unicodeStr, gbkStr, sizeof(unicodeStr) / sizeof(wchar_t)); // 转换函数 if (result <= 0) { printf("转换失败\n"); return 1; } printf("%ls\n", unicodeStr); // 输出转换后的Unicode编码字符串 return 0; } ``` 在这个示例中,我们首先通过`setlocale`函数设置了本地化环境,以确保正确处理多字节字符串。然后定义了一个GBK编码的字符串`gbkStr`,以及一个用于存储转换后的Unicode编码字符串`unicodeStr`。 接下来使用`mbstowcs`函数将`gbkStr`转换为`unicodeStr`,并返回转换后的字符个数。如果转换失败,则返回值为-1。最后,我们通过`printf`函数输出转换后的Unicode编码字符串。 以上就是使用C语言进行GBK到Unicode编码转换的简单示例。需要注意的是,这里只是演示了一种基本的转换方法,实际应用中可能还需要处理一些特殊情况和异常情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值