c/c++ utf-8与gbk的互相转化
最近整理了c/c++ 中各种字符,数组的转化,在此记录一下,如有问题错误还请指出。
/*
*日期:2019.10.16
*功能:多字符转16进制字符串(utf-8)
*参数说明:cGbk[in]:多字符数组(gbk)cUtf8[out]:十六进制字符串(utf-8)
*返回值:
*/
void GBKToUTF8(const char* cGbk, char* cUtf8)
{int len = MultiByteToWideChar(936, 0, cGbk, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+1);MultiByteToWideChar(936, 0, cGbk, -1, wstr, len);len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);WideCharToMultiByte(CP_UTF8, 0, wstr, -1, cUtf8, len, NULL, NULL);delete[] wstr;
}/*
*日期:2019.10.16
*功能:宽字符转多字符
*参数说明:cUtf8[in]:utf-8十六进制数组cGbk[out]:多字节字符串(gbk)
*返回值:
*/
void UTF8ToGBK(const char* cUtf8, char* cGbk)
{int len = MultiByteToWideChar(CP_UTF8, 0, cUtf8, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+1);MultiByteToWideChar(CP_UTF8, 0, cUtf8, -1, wstr, len);len = WideCharToMultiByte(936, 0, wstr, -1, NULL, 0, NULL, NULL);WideCharToMultiByte(936, 0, wstr, -1, cGbk, len, NULL, NULL);delete[] wstr;
}
c/c++ utf-8与gbk的互相转化相关推荐
- 字符集、字符编码、国际化、本地化简要总结(UNICODE/UTF/ASCII/GB2312/GBK/GB18030)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 普通的linux 和 普通的windows. ...
- 编码标准-GB2312 GBK GB18030
关于 ASCII编码 可以查看我的另外一篇博客 编码标准-ASCII 关于 Unicode 可以参考我的另外一篇博客 Unicode 编码标准-GB2312 GBK GB18030 基本概念 区位码 ...
- unicode、utf区别
字符集 首先,我们要明确2个概念,字符集和字符编码. 字符集:ASCII.GB2312.GBK.Unicode 字符编码:UTF-8.UTF-16.UTF-32 由于ASCII.GB2312.GBK不 ...
- python基础知识练习题
1.执行Python脚本的两种方式 1.在计算机终端(运行cmd),输入安装的Python路径,然后输入Python脚本的路径,回车. 2.直接运行python 2.简述位.字节的关系. 1字节 = ...
- PHP 页面编码声明方法详解(header或meta)
php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header("Content-type: text/html; charset=utf-8&qu ...
- python入门练习题-python基础知识练习题一
1.执行Python脚本的两种方式 1.在计算机终端(运行cmd),输入安装的Python路径,然后输入Python脚本的路径,回车. 2.直接运行python 2.简述位.字节的关系. 1字节 = ...
- java编码-多重(乱码)
一.1,UTF编码 - 2,ISO解码 - 3,UTF编码 - 4,ISO解码 String ISO = "ISO-8859-1"; String UTF = "UTF- ...
- 字符编码的前世今生--转
原文地址:http://gitbook.cn/books/599d075614d1bc13375caeaf/index.html 前言 很多程序员对字符编码不太理解,虽然他们大概知道 ASCII.UT ...
- PHP页面编码声明与用header或meta实现PHP页面编码的区别
php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header("Content-type: text/html; charset=utf-8&quo ...
- 启动tomcat控制台日志出现乱码怎么办?
在tomcat根目录中config文件夹下将log.properties文件中将默认控制台日志输出编码UTF修改成GBK或者GB2312都可以. java.util.logging.ConsoleHa ...
最新文章
- 经典小游戏--推箱子
- cad监控摄像头图例_家庭护卫兵:乐橙 TP2 智能摄像头
- 图:DFS(深度优先搜索)图解分析代码实现
- SpringBoot @PostConstruct和@PreDestroy使用详解
- Android 高效的`InjectView – ButterKnife`
- sklearn自学指南(part32)--保序回归
- 科技人员在计算机前的肖像,首个全国科技工作者日来了 西南大学学子为科技工作者画像...
- [存档]获取通讯录信息并写到SD卡上
- 苹果Mac Studio 3月18日发售 但法国一用户已提前收货
- CEF js调用C#封装类含注释
- Python 常用命令
- jQuery 中bind(),live(),delegate(),on() 区别
- idea报错Cannot resolve jdk.tools:jdk.tools:1.7
- 程序员的目标应该是向牛人看齐而不是当经理或者赚大钱
- XLua访问C#中的List或者数组
- 2022全国智慧医院建设大会会议通知
- uniapp app端调起高德地图导航
- Switchport详细用法
- vue使用高德地图api,点击地图标记,弹出弹窗,使用animate让弹窗有动画的加载
- Java新手小白入门篇 Java项目的构建
热门文章
- 「软件」南方CASS9.1软件下载及安装注册教程
- python爬取酷狗音乐_python使用beautifulsoup4爬取酷狗音乐代码实例
- Hightopo 2D 入门
- Win2008系统下装CTBS之前的系统组件安装向导第二篇(补充篇)
- Android 内存映射mmap浅谈
- 计算机跳过密码直接登录密码,win10免密码自动登录怎么设置_win10跳过密码直接登录电脑-win7之家...
- AD9833数字信号发生器模块
- php位运算符与逻辑运算_php 或_php 逻辑运算符和
- 运维工程师必须掌握的基础技能有哪些?
- 计算机无法访问iTunes,iphone7无法连接itunes的解决方法步骤