前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 ><c++ 常用代码块> | std::string 与 std::wstring转化

<c++ 常用代码块> | std::string 与 std::wstring转化

作者头像
IsEva
发布于 2022-12-05 03:00:15
发布于 2022-12-05 03:00:15
99800
代码可运行
举报
文章被收录于专栏:常用代码块常用代码块
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <string>
#include <locale>
#include <codecvt>

	// convert string to wstring
	inline std::wstring to_wide_string(const std::string& input)
	{
		std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
		return converter.from_bytes(input);
	}
	// convert wstring to string 
	inline std::string to_byte_string(const std::wstring& input)
	{
		//std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
		std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
		return converter.to_bytes(input);
	}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
c++11新特性之宽窄字符转换
  C++11增加了unicode字面量的支持,可以通过L来定义宽字符:str::wstring str = L”中国人”;
全栈程序员站长
2022/07/18
8140
C++常见避坑指南
当调用一个空指针所指向的类的成员函数时,大多数人的反应都是程序会crash。空指针并不指向任何有效的内存地址,所以在调用成员函数时会尝试访问一个不存在的内存地址,从而导致程序崩溃。
腾讯技术工程官方号
2024/02/28
5660
C++常见避坑指南
C++11:string和wstring之间互转换
今天打算做string到wstring转换时发现以前早已经写过,已经忘记从哪里找来的了,贴出代码,以防再忘记。C++11后UTF8编码转换还真是方便
10km
2020/12/16
15.3K0
C++11:模板函数实现支持变长参数的简单日志输出
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/80216226
10km
2019/05/25
2.4K0
OpenVINO运行Tensorflow模型
请先阅读我的上一篇文章《Visual Studio 2017 配置OpenVINO开发环境》,在VS2017中配置好OpenVINO环境。
superhua
2019/11/20
2.6K1
C++11:基于STL对string,wstring进行大小写转换
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/80206022
10km
2019/05/25
4.4K0
Windows VC++路径标准化-PathCchCanonicalize
外部输入的参数不能直接作为文件路径,防止被恶意攻击,比如构造一个跨目录限制的文件路径…/…/…/etc/passwd或…/…/boot.ini,或构造一个指向系统关键文件的链接文件symlink(“/etc/shadow”,“tmp/log”)。PS "./“表示当前目录,可以不写,”…/"表示当前目录的上一级目录,即当前目录的父目录。windows可以用PathCanonicalizeA或者PathCanonicalizeW检查文件目录是否标准,但是微软msdn官网不建议使用PathCanonicalize这个函数,如下图所示:
ccf19881030
2022/09/21
9280
Windows VC++路径标准化-PathCchCanonicalize
微光互联 TX800-U 扫码器无法输出中文到光标的问题
某检测场有一批扫码器,购于微光互联,型号 TX800-U,用于在不同办理窗口间扫描纸质材料上的二维码,简化录入过程。扫码器通过 USB 接入 PC 系统 (windows),自动安装驱动,接电即可使用,扫描的信息会直接输出在光标所在位置,扫码器大概长这样:
海海
2022/10/31
8950
微光互联 TX800-U 扫码器无法输出中文到光标的问题
C++中的string_view
C++17标准库里面引入了轻量级的只读字符串表示类型string_view,用来替代const char* 和const string&,在传入函数的时候减小内存开销(因为string_view类只包含字符串的指针和字符串的长度值,开销小于string类型)。
王云峰
2023/10/21
3980
PaddleOCR C++动态库编译及调用识别(一)
本篇就来看看如何把PaddleOCR的源码重新编译成动态库,供OpenCV的Demo调用。
Vaccae
2021/07/30
4.7K1
PaddleOCR C++动态库编译及调用识别(一)
C++ 常见进制转换代码
目录 C++ 进制转换代码记录 一丶进制转换 1.1 介绍 二丶 十六进制字符串转换为Ascii 2.1 方法1 Char类型操作 2.2 方法2 STL String操作 2.3 方法3 google写法 2.4 总结 三丶Ascii字符串转为16进制字符串 3.1 方法1 字符指针类型转换 四丶十六进制字符转为整数 4.1 方法1 字符转为整数 五丶十六进制字符串转为二进制 5.1 十六进制字符串转为二进制类型 5.2 二进制类型十六进制转为十六进制字符串 六丶10进制数字转为16进制字符串 6.1方法
IBinary
2022/05/13
2.1K0
C++宽字节与多字节之间的转换
1.使用WideCharToMultiByte和MultiByteToWideChar; 2.使用mbstowcs_s和wcstombs_s(vs中添加_s); 3.使用c++11提供的wstring_convert<std::codecvt_utf8<wchar_t>>转换变量 demo:程序如下 下载地址https://pan.baidu.com/s/1yBRYKuRBMLkeMO3v1LJZjg 提取码:oh3t
用户7886150
2021/02/21
1.7K0
C++实现编码转换
https://github.com/gongluck/Code-snippet/tree/master/cpp/code%20conversion
gongluck
2020/03/25
4K0
C++11 Unicode支持
在C++98中,为了支持Unicode字符,使用wchar_t类型来表示“宽字符”,但并没有严格规定位宽,而是让wchar_t的宽度由编译器实现,因此不同的编译器有着不同的实现方式,GNU C++规定wchar_t为32位,Visual C++规定为16位。由于wchar_t宽度没有一个统规定,导致使用wchar_t的代码在不同平台间移植时,可能出现问题。这一状况在C++11中得到了一定的改善,从此Unicode字符的存储有了统一类型: (1)char16_t:用于存储UTF-16编码的Unicode字符。 (2)char32_t:用于存储UTF-32编码的Unicode字符。 至于UTF-8编码的Unicode数据,C++11还是使用了8bits宽度的char类型数组来表示,而char16_t和char32_t的宽度由其名称可以看出,char16_t为16bits,char32_t为32bits。
恋喵大鲤鱼
2018/09/27
2.5K0
tinyxml2使用方法
XMLNode: XMLNode is a base class for every object that is in the XMLDocument Object Model (DOM), except XMLAttributes.Nodes have siblings, aparent, and children which can be navigated. A node is always in a XMLDocument.The type of a XMLNode can be queried, and it can be cast to its more definedtype.
全栈程序员站长
2022/06/28
1.4K0
tinyxml2使用方法
移动开发之浅析cocos2d-x的中文支持问题
  题记:这阵子一直在学习cocos2d-x,其跨平台的特性确实让人舒爽,引擎的框架概念也很成熟,虽然相应的第三方工具略显单薄,但也无愧是一件移动开发的利器啊,有兴趣的朋友有时间就多了解一下吧 :)
用户2615200
2018/08/02
5320
移动开发之浅析cocos2d-x的中文支持问题
C/C++中char*与wchar_t*之间的转换
代码编译运行环境:Windows 64bits+VS2017+Debug+Win32
恋喵大鲤鱼
2018/08/03
11.6K0
C++11特性
VS2010版本的C++新增了C++11特性,对原有的C++标准库扩展,融合BOOST库等三方库
sofu456
2020/06/16
5800
C++代码改造为UTF-8编码问题的总结
无论是哪个平台哪种编程语言,字符串乱码真是一个让人无语的问题:你说这个问题比较小吧,但是关键时刻来一下真是受不了。解决方式也有很多种,但是与其将编码转换来转换去,不如统一使用同一种编码方式,比如国际通用的UTF-8编码。因此,新的程序代码最好都统一使用UTF-8编码的方式。但是C++作为一种历史悠久的编程语言,肯定存在很多存量代码,如何将其改造成UTF-8编码也是一个问题,笔者在这里总结一二,可能不是很全,如果有遗漏就再开一篇补充。
charlee44
2025/02/13
1380
C++代码改造为UTF-8编码问题的总结
AI智能分析开发中采用c++中文编码出现乱码是什么导致的?
EasyCVR的AI智能分析版本在做研发的时候,就受到了很多朋友的关注,EasyCVR的人脸识别功能采用了Go语言,使用c/c++ 的头文件和dll文件。在C++ 中如果出现中文,会出现乱码的问题,使用notepad++打开保存的二进制文件,出现乱码。
TSINGSEE青犀视频
2021/12/15
1.6K0
相关推荐
c++11新特性之宽窄字符转换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文