搞清楚 Windows C/C++ 编程中各种编码

chatgpt/2023/9/24 2:42:50

最近编写程序,中文乱码问题让很多同学很头疼,那么今天黄老师来帮大家剖析一下:

以 “好人“  两个字为例:

 

等会我们使用代码跟踪内存,来查看字节的编码:

先上代码:

#include<stdio.h>
#include<stdlib.h> 
#include<windows.h>char *   ConvertUTF8ToANSI(char *utf8 ) {int count = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);int len = sizeof(wchar_t)* (count + 1);wchar_t* wide = malloc(len);memset(wide, 0, len);MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wide, count);count = WideCharToMultiByte(CP_ACP, 0, wide, -1, NULL, 0, NULL, NULL);int len2 = sizeof(char) *(count + 1);char* ansi =  malloc(len2 );memset(ansi, 0, len2);WideCharToMultiByte(CP_ACP, 0, wide, -1, ansi, count, NULL, NULL);free(wide);return  ansi; 
}voi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5313469.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

Python全景图转Cube图,Cube图转全景图

安装&#xff1a; pip install py360convert 测试全景图&#xff1a; https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4e120e25945d41b1bde4a89e6eea34e0~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp? 全景图来源&#xff1a;Marzipano-3D全景图最优雅的打开方…

“深入理解Spring Boot:从入门到高级应用“

标题&#xff1a;深入理解Spring Boot&#xff1a;从入门到高级应用 摘要&#xff1a;本文将介绍Spring Boot的基本概念、原理和使用方法&#xff0c;并探讨如何在实际开发中充分发挥Spring Boot的优势。通过详细的示例代码&#xff0c;读者将能够深入理解Spring Boot的各个方…

OCR识别常见的八大开源工具

OCR&#xff08;光学字符识别&#xff09;是一种将图像中的文字自动转换为可编辑文本的技术。现在&#xff0c;各大厂商均有提供各种场景的OCR识别的API。但是&#xff0c;也有一些开源的OCR框架和工具&#xff0c;可以支持自我定制和训练&#xff0c;使得开发人员能够更加灵活…

pdf阅读器哪个好用?这个阅读器别错过

pdf阅读器哪个好用&#xff1f;PDF是一种流行的文件格式&#xff0c;可以保留文档的原始格式、布局和字体。与其他文档格式相比&#xff0c;PDF在不同设备和操作系统上的显示效果更为一致&#xff0c;确保文档内容的准确性和可读性。在阅读一些PDF文件的时候&#xff0c;使用一…

P1090 [NOIP2004 提高组] 合并果子

题目描述 在一个果园里&#xff0c;多多已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并&#xff0c;多多可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。可以看出&#xff0…

Redis 异常处理:连接失败、数据库满、缓存雪崩、缓存击穿和缓存穿透

目录 1. 连接失败2. 数据库满3. 缓存雪崩4. 缓存击穿&#xff1a;5. 缓存穿透&#xff1a; Redis使用过程中&#xff0c;可能会遇到各种异常情况&#xff0c;例如&#xff1a;连接失败、数据库满、缓存雪崩、缓存击穿和缓存穿透等。这些异常情况可能会导致系统崩溃&#xff0c;…

无涯教程-jQuery - Menu组件函数

小部件菜单功能可与JqueryUI中的小部件一起使用。一个简单的菜单显示项目列表。 Menu - 语法 $( "#menu" ).menu(); Menu - 示例 以下是显示菜单用法的简单示例- <!doctype html> <html lang"en"><head><meta charset"utf-…

印花税的本质和底层逻辑是什么?印花税降低是利好股市吗?

内容由LLM协助生成&#xff1a; 印花税是一种对特定交易或证券交易征收的税费&#xff0c;由政府机构收取。其本质和底层逻辑可以归结为以下几点&#xff1a; 资金来源&#xff1a;印花税是国家财政收入的一部分&#xff0c;用于满足政府的财政需求和公共支出。政府通过征收印花…
推荐文章