首页 > 系统相关 >windows上,gbk utf8相互转换

windows上,gbk utf8相互转换

时间:2023-07-04 11:13:07浏览次数:40  
标签:std tmp convert windows utf8 gbk GBK wstr wstring

#include <locale>
#include <codecvt>

inline std::string utf8_to_gbk(const std::string& str)
{
    std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
    std::wstring tmp_wstr = conv.from_bytes(str);
    //GBK locale name in windows
    const char* GBK_LOCALE_NAME = ".936";
    std::wstring_convert<std::codecvt_byname<wchar_t, char, mbstate_t>> convert(new std::codecvt_byname<wchar_t, char, mbstate_t>(GBK_LOCALE_NAME));
    return convert.to_bytes(tmp_wstr);
}

inline std::string gbk_to_utf8(const std::string& str)
{
    //GBK locale name in windows
    const char* GBK_LOCALE_NAME = ".936";
    std::wstring_convert<std::codecvt_byname<wchar_t, char, mbstate_t>> convert(new std::codecvt_byname<wchar_t, char, mbstate_t>(GBK_LOCALE_NAME));
    std::wstring tmp_wstr = convert.from_bytes(str);
    std::wstring_convert<std::codecvt_utf8<wchar_t>> cv2;
    return cv2.to_bytes(tmp_wstr);
}

标签:std,tmp,convert,windows,utf8,gbk,GBK,wstr,wstring
From: https://www.cnblogs.com/nocanstillbb/p/17525196.html

相关文章

  • 在Windows下安装使用Kafka
    准备工作Java环境Kafka安装包(已包含zookeeper)安装步骤1Java安装自行百度2下载、安装Kafka 打开 下载地址 选择下图红框中的版本,Kafka包名组成:Scala版本-Kafka自身版本下载完成之后解压,目录如下图:3启动服务3.1启动ZooKeeper打开kafka_2.12-2.1.0\bin\w......
  • 如何在Windows上安装MySQL和MySQL Workbench
    如果你想学习MySQL,从一个好的客户端开始非常有帮助——尤其是当你刚刚开始你的旅程时。有很多客户端可以满足您基于MySQL的需求,例如XAMPP、DataGrip等。其中,我更喜欢MySQLWorkbench。顺便说一句,它是完全免费的。在本教程中,我将向您展示如何从头开始安装和配置此MySQL和......
  • 最新windows10 下搭建vue开发环境
    特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图: 详细的安装步骤如下:一、安装node.js说明:安装node.js的windows版本后,会自动安装好node以及包管理工具npm,我们后续的安装将依赖npm工具。node.js的官方地址为:https://nodejs.org/e......
  • mysql windows安装
    1.首先下载mysqlhttps://www.mysql.com/downloads/ 2.解压到D盘。在解压后的文件夹里创建一个data文件夹和一个my.ini文件my.ini文件夹内容路径根据自己存放解压位置修改一下,数据库存放目录自己建一个[mysql]#设置mysql客户端默认字符集default-character-set=utf8m......
  • 基於 QQ NT 架构 的QQ Windows 版本發布 9.9.0 版本,正式在官网上架!
    特色基于QQNT技术架构全面升级,使用操作更加流畅快捷。全新UI设计,界面更加简约轻盈。消息页面三栏式设计,查看信息更加流畅。多人语音视频聊天,沟通无极限。还有更多便捷小功能等待解锁哦!优化了启动速度和性能修复了若干个已知问题沒有Q盾!!!提供64位版本!......
  • Windows环境下nvm的安装与使用
    nvm全名node.jsversionmanagement,顾名思义是一个管理多个nodejs的版本工具。通过它可以安装和切换不同版本的nodejs,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本。一、下载nvm安装包地址: https://github.com/coreybutler/nvm-windows/releases......
  • Cisco AnyConnect Secure Mobility Client 4.10.07062 (macOS, Linux, Windows)
    CiscoAnyConnectSecureMobilityClient4.10.07062(macOS,Linux,Windows)CiscoSecureClient(包括AnyConnect)请访问原文链接:https://sysin.org/blog/cisco-anyconnect-4/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org新版已发布:CiscoSecureClient5.0.030......
  • 搭建SpinalHDL环境心得(Windows)
    主要步骤是基于别人的教程文章。在这里记录一下个人遇到的问题。1、sbt.\build.sbt时的错误,很多时候是由于JDK版本问题导致的。这个问题在sbt后续版本里得到了解决,我的sbt升级到1.9.0之后就没有遇到这个问题了。2、build.sbt里的spinalVersion会更新。可以时不时去spinalHDL的......
  • 华为超聚变2288H V5 服务器安装Windows系统后 PCI数据捕获和信号处理控制器 出现感叹
    2288Hv5服务器安装Windows系统后,PCI数据捕获和信号处理控制器出现感叹号可以在IBMC界面的“诊断-黑匣子”关闭黑匣子功能,然后重启设备解决也可以通过在操作系统侧安装IBMA软件解决2288Hv5服务器安装Windows系统后,PCI数据捕获和信号处理控制器 出现感......
  • 在Windows 11/10/8/7中将U盘快速格式化为FAT32的好方法
    链接:https://www.disktool.cn/content-center/how-to-format-pendrive-in-windows-7-666.html使用磁盘管理工具格式化U盘步骤1. 打开电脑,“Win+R”打开运行框。输入diskmgmt.msc再按Enter键打开磁盘管理工具。步骤2. 右键单击您想要格式化的U盘并选择“格式化”。步骤3. ......