C语言UTF8要怎样转gb2312

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言UTF8要怎样转gb2312相关的知识,希望对你有一定的参考价值。

一、这个转换关键要有码表,而不是什么语言。UTF-8不一定总能转换成GB2312、GBK、GB-18030等。GB2312实际上是UTF-8(Unicode的一种形式)的一个子集。
常用的基本方式有两个类别:
1、iconv,这个是通用的,具体的看手册
2、Windows的WideCharToMultiByte、MultiByteToWideChar。WideChar就是Unicode(UTF-16),UTF-8、GB2312等同属于MultiByte,先要将UTF-8变成WideChar,然后将WideChar再变成GB2312。
二、如果只有一两个文件,用记事本打开UTF8文件,然后保存,保存时点击“保存选项”按钮,选择文件格式为ANSI,在中文Windows环境下,这个新文件就是GB2312格式的了。
参考技术A 1.用Dreamweaver打开要修改的网页。
2.ctrl+j会淡出页面属性
3.在 分类 里面选择 标题\编码 里面会有一个关于编码的下拉列表,选择想要的gb2312就可以了!
参考技术B 标准C语言不会有的,要自已编。
VC++与C++BUILDER能找到现成的函数
参考技术C 这个转换关键要有码表,而不是什么语言。UTF-8不一定总能转换成GB2312、GBK、GB-18030等。GB2312实际上是UTF-8(Unicode的一种形式)的一个子集。
常用的基本方式有两个类别:
1、iconv,这个是通用的,具体的看手册
2、Windows的WideCharToMultiByte、MultiByteToWideChar。WideChar就是Unicode(UTF-16),UTF-8、GB2312等同属于MultiByte,先要将UTF-8变成WideChar,然后将WideChar再变成GB2312。
具体的你自己慢慢看吧,需要了解的东西太多了。本回答被提问者和网友采纳
参考技术D C语言没提供字符转换的接口吧,不清楚

怎样将unicode转化成中文

参考技术A unicode编码不需要转换成汉字,因为unicode就是和字符关联的终极编码。
windows中只有unicode码可以和字符直接关联,也就是使用国际标准的unicode字符集。
中文windowsXp默认的内码是gbk(装过gb18030补丁的话也就变成gb18030),日文系统就是JIS,不同语言版本的windows都有不同的默认内码,这是每个国家的标准化管理局规定的。
然后就是页码表的概念,所谓页码表就是把一个用系统默认编码(比如gbk,gb2312)表示的字符映射到对应unicode编码,而每个unicode编码对应着唯一确定的字符。这样就完成了地域性编码到国际标准码再到字符的对应关系。
在控制面板->区域和语言选择->高级,里面可以看到window提供的所有页码表。

绝非转载,无参考内容,均为个人理解参悟内容。本回答被提问者采纳

以上是关于C语言UTF8要怎样转gb2312的主要内容,如果未能解决你的问题,请参考以下文章

怎样把utf-8编码网页 转换为gb2312

c#字符串转成utf8的问题

树莓派进阶之路 (032) -字符问题 - 用c语言怎样得到一个汉字的GB2312编码(转)

C语言如何实现POST数据包

怎样把UTF8编码转成GB2312编码?

c语言中怎样判断一行中是不是有汉字