utf-8和GB2312互转

2024-06-19 03:58
文章标签 utf 互转 gb2312

本文主要是介绍utf-8和GB2312互转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自CSDN,出处未知

UTF-8转GB2312:
char* convertUTF8ToGB2312(const char* utf8)
{int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+1);MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len+1];memset(str, 0, len+1);WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);if(wstr) delete[] wstr;return str;
}
GB2312转UTF-8:
char* convertGB2312ToUTF8(const char* gb2312)
{int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+1);MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len+1];memset(str, 0, len+1);WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);if(wstr) delete[] wstr;return str;
}

这篇关于utf-8和GB2312互转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073939

相关文章

【Java】pcm 与 wav 格式互转工具类 (附测试用例)

文章目录 1. 前言1.1 背景1.2 目标1.3 亮点 2. 用例说明3. 补充验证4. 相关链接 1. 前言 git 仓库 https://github.com/ChenghanY/pcm-wav-converter 1.1 背景 系统新接入语音引擎。 语音引擎只认 pcm 格式数据。前端只认 wav 格式 。 需要后端对 pcm 和 wav 格式实现互转,特此编写工具

java字符串在内存和文件中编码的不同——如何理解进制(二进制)与编码(UTF-8)的关系

不管是在内存中,还是文件中,还是网络传输中,计算机运算和存储的都只能是二进制。 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。 “外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或String,或者外部的文件、命令

中文字符编码之GBK,UTF-16和UTF-8

编程中经常会遇到这三种字符编码形式的相互转换问题,以至于许多第三方的库不明原因的调用失败,其实很多都是由于第三方库支持的是utf-8而不是windows默认支持的utf-16导致的。 下面介绍一下windows系统下常见的这三种字符编码方式。 GB2312 是我们国家自己国标的汉字编码字符集,该字符集以一个16位的2进制数据单元表示一个汉字,所以能够将两个char型数据单元保存一个汉字。

idea2019中utf-8乱码问题

解决idea中乱码问题,一般就一下几个中的一个或几个,如果都不行那就不知道了 第一个:File->Settings->Editor->File Encodings    第二个:File->Other Settings->Settings for New Projects->Editor->File Encodings 第三个:File->Settings->Build,Execu

编码规则UTF-8 和 UTF-16的区别

UTF-8 和 UTF-16 的设计背景与历史 为了更好地理解 UTF-8 和 UTF-16 的设计选择和背景,以下是两种编码方案的历史、设计动机和它们在计算机科学中的应用。 Unicode 的背景 在 Unicode 之前,不同的字符集和编码方案使得跨平台和国际化的文本处理变得复杂且难以维护。例如,ASCII 只能表示 128 个字符,无法满足处理全球所有文字的需求。不同的语言和地区有各自

UTF-8、BOM、feff的问题

 问题:在项目开发中,遇到文件开头有<feff>的标识, [zhaihf@localhost zhaihf]$ grep -I -r -l $'\xEF\xBB\xBF' * codingstdutf8.txt 解决方法:用shell命令删除 [zhaihf@localhost zhaihf]$ grep -I -r -l $'\xEF\xBB\xBF' codingstdutf8.t

javabean 与 xml 互转

目前javaBean和xml进行互相转换的工具有 Xstream,Xmap,JAXB 这三种比较通用 XStream 是什么? XStream 是一个 java类库,实际上是一个转换器。XStream 作用 ? 实现 java bean 与 xml 互转。XStream 如何使用? 主要通过 xStream 实现 转换,具体测试示例代码如下:源码 github 下载地址: https://

json格式与bean对象互转

采用fastjson包。 JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。 JSONObject:fastJson提供的json对象。 JSONArray:fastJson提供json数组对象。     1. 采用字符串转Json对象使用:JSONObject jsonObject = JSON.parseObject(JSON_O

MFC C++ BMP图片向右旋转90度示例函数 WCHAR与CHAR互转 CStringW CStringA互转

在MFC中,可以使用GDI+库来实现图像的旋转。以下是一个示例函数,展示如何将BMP图像向右旋转90度。首先,确保在项目中包含GDI+库,并在项目设置中添加#include <gdiplus.h>和#pragma comment(lib, "gdiplus.lib")。 #include <windows.h>#include <gdiplus.h>#pragma comment(lib,

【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式

1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选?==> 不推荐勾选(它的作用是用来自动转换ASCII编码,防止文件乱码;如果勾选了,项目文件放在 linu