问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用C语言实现汉字和Unicode编码的转换 求程序

发布网友 发布时间:2022-04-27 00:40

我来回答

1个回答

热心网友 时间:2022-04-27 02:09

字转换:wctomb、mbtowc,wc 指 Wide charactor,mb 指 Multi-byte。
字符串转换:wcstombs、mbstowcs,wcs 和 mbs 的 s 指 string。

这 4 个函数是 C 标准函数库函数中的。如果只是在 Windows 平台下编程,可直接调用 Windows API 函数 WideCharToMultiByte 和 MultiByteToWideChar 实现。但是如果调用标准库函数的话,在 Linux 下也是有效的。调用标准库函数,首先必须包含 locale.h 并调用 setlocale(LC_ALL, "") 后才能正确转换。Windows 下的 Multi-byte 是 ANSI 编码的,Wide charactor 是 Unicode (UTF-16) 编码,而 Linux 下的 Multi-byte 是 UTF-8 编码的,Wide charactor 是 Unicode (UTF-32) 编码。

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(void)
{
char str[12];
wchar_t wstr[] = { 0x52B3, 0x788C, 0 };
setlocale(LC_ALL, "");
wcstombs(str, wstr, sizeof(str)/sizeof(char));
printf("%s", str);
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
吃生大蒜好吗 吃生大蒜有什么好处呢 保字词语接龙两个字 建筑设计资质有哪些 iphone视频格式 男人说纠结是什么意思纠结是什么意思 古天乐的资料!!! 胆结石可以喝柠檬蜂蜜水吗 柠檬对结石有什么作用 胆结石可以吃柠檬吗 江西有哪些风景 airpods盒子和耳机不配套怎么弄 什么情况下银行不给办理房贷 什么情况下银行批贷不放款? 怎样洗掉衣服上的汗斑啊?? 高考作文语文素养解析 求有现代气息的高考作文素材 比较适合高考之前朗读的英语短文 急求各种话题的高考英语作文朗读音频,请帮帮忙 高考作文题是以“朗读者”为主题的材料作文怎么写 求高考专业面试朗诵文章2分钟左右 谁欠谁的幸福朗诵,高考满分作文 专升本考那些科目 工程序列中级职称有哪些 产品商标被投诉侵权吗 win10魔兽争霸3有地图却不显示地图,同样的下载地址win7旗舰版却可以,怎样才能玩 我有一个朋友,皮肤过白 。简直是太白了,但是他又没有贫血等病症,请问这是因为血液里缺少某种血素造成的 大家会比较建议去哪个银行办理贷款啊? 头发变白了,是得了什么病?或缺少什么元素? 皮肤白皙,头发金黄是什么病?啥原因引起的? 茶点里的虾饺里的虾很脆,请问怎么才能让它脆的? 比特犬的肌肉骨骼再结实也只能抵挡其它狗的撕咬而已吧? 中华民囯三年贰毫银币是纯银吗 C语言程序设计试卷 求两份不同的答案 一、找出1000以内所有能同时被3、5 华硕哪个系列的笔记本好 银毫子是什么东西 谁能帮 忙做一下试卷!!!C语言程序设计考试A 华硕笔记本哪个系列性价比最高 高分,简单c语言程序设计试卷,求答案,懂的大侠估计10分钟就可以搞定~ 中南大学c语言试题 邮政行业成绩单出炉,相比其他快递行业,邮政的成绩如何? 150172证券b怎么买卖,是T+0交易吗 证券b基金交易咨询,在证券市场买的B级基金,是否和股票一样的交易? 证券b买的时候是4.5买的4.6可以卖吗 中国邮政速递今年上半年利润多少? 为什么现在民营快递业那么发达,中国邮政还能屹立不倒? 雪佛兰车钥匙电池怎么换 民国25年有二角小银毫吗? 证券a和证券b怎么买卖,原理是什么?能不能言简意赅说下 政策价值观的构成要素 氧化石墨烯(Graphite Oxide, GO)是无机碳材料还是有机碳材料?