C++中文字符乱码与iconv库转化编码

news/2024/7/5 2:01:08

使用UFT-8保存的文本、代码,打印中文直接乱码,方法可以是,把代码、文件用GBK编码格式保存,或者,在UFT-8编码的代码文件中,使用iconv库进行编码转换,将UTF-8编码转化成GBK
iconv_open函数是C语言中用于打开转换句柄的函数,其原型如下:

iconv_t iconv_open(const char *tocode, const char *fromcode);

该函数接受两个参数,分别为目标编码和源编码,返回值为一个iconv_t类型的转换句柄。使用该函数打开转换句柄后,可以使用iconv函数进行编码转换。如果打开转换句柄失败,iconv_open函数会返回一个特殊的值ICONV_INVALID_HANDLE,可以使用iconv_strerror函数获得错误信息。
在C语言中,iconv函数的原型为:

size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);

其中:

  • cd为iconv_t类型的转换描述符,由iconv_open函数返回;
  • inbuf为指向输入字符数组的指针;
  • inbytesleft为输入字符数组的剩余字节数;
  • outbuf为指向输出字符数组的指针;
  • outbytesleft为输出字符数组的剩余字节数。

iconv函数的作用是将输入字符集编码的字符串转换为输出字符集编码的字符串,并将转换结果存放在outbuf指向的输出字符数组中。函数返回值为转换成功的字符数。如果转换失败,则返回-1。


http://lihuaxi.xjx100.cn/news/1750470.html

相关文章

大厂的 Git 代码管理规范是怎样的?

分支命名 master 分支 master 为主分支,也是用于部署生产环境的分支,需要确保 master 分支稳定性。master 分支一般由 release 以及 hotfix 分支合并,任何时间都不能直接修改代码。 develop 分支 develop 为开发环境分支,始终…

Java 数据结构篇-模拟实现动态数组

🔥博客主页: 小扳_-CSDN博客 ❤感谢大家点赞👍收藏⭐评论✍ 本篇目录 1.0 动态数组说明 2.0 模拟实现动态数组的核心方法 2.1 动态数组-插入与扩容 2.2 动态数组-获取元素 2.3 动态数组-修改元素 2.4 动态数组-删除元素 2.5 动态数组-遍历…

如何在 Endless OS 上安装 ONLYOFFICE 桌面编辑器 7.5

ONLYOFFICE 桌面编辑器是一款基于依据 AGPL v.3 许可进行分发的开源办公套件。使用这款应用,您无需保持网络连接状态即可处理存储在计算机上的文档。本指南会向您介绍,如何在 Endless OS 上安装 ONLYOFFICE 桌面编辑器 7.5。 ONLYOFFICE 桌面版是什么 O…

物理内存的组织形式

由于物理地址是连续的,页也是连续的,每个页大小也是一样的。因而对于任何一个地址,只要直接除一下每页的大小,很容易直接算出在哪一页。每个页有一个结构 struct page 表示,这个结构也是放在一个数组里面,这…

「数字集成电路笔记」异步复位和同步复位的区别

含义: 同步复位 是指复位信息只有在时钟上升沿到来时,才能有效,否则无法完成对系统的复位工作。 异步复位 是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。

AERMOD模型在大气环境影响评价中的实践技术应用

随着我国经济快速发展,我国面临着日益严重的大气污染问题。近年来,严重的大气污染问题已经明显影响国计民生,引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果,同时气象因…

SoftwareTest4 - 咋设计一个好的测试用例

咋设计一个好的测试用例 一 . 设计测试用例的万能公式功能测试性能测试界面测试兼容性测试易用性测试安全测试案例案例1 : 对水杯设计测试用例案例 2 : 对登录页面设计测试用例 二 . 具体设计测试用例的方法2.1 等价类等价类的概念等价类的用例编写 2.2 边界值2.3 判定表2.4 场…

QT namespace UI / PIMPL (Private Implementation / Pointer to Implementation)

简述: Qt编程中,会见到类似于如下的声明: 1 namespace Ui 2 { 3 class Dialog; 4 } 那么,为何要这样声明,这样声明有什么好处。 这是Designer使用了pimpl手法,pImpl手法主要作用是解开类的使用接口和实现的…