c++11新特性之宽窄字符转换

C++11增加了unicode字面量的支持,可以通过L来定义宽字符:str::wstringstr=L"中国人";将宽字符转换为窄字符串需要用到codecvt库中的std:

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  C++11增加了unicode字面量的支持,可以通过L来定义宽字符:str::wstring str = L”中国人”;

  将宽字符转换为窄字符串需要用到codecvt库中的std::wstring_convert

  例:

#include "stdio.h"

#include<string>
#include<codecvt>
#include<iostream>
using namespace std;

void main()
{
    wstring wstr = L"中国人";
    cout << "unicode编码:" << wstr.c_str() << endl;

    wstring_convert<codecvt<wchar_t, char, mbstate_t>> converter(new codecvt<wchar_t, char, mbstate_t>("CHS"));

    string str = converter.to_bytes(wstr);
    cout << "ansi编码:" << str << "  " << str.c_str() << endl;

    wstring wstr1 = converter.from_bytes(str);
    wcout.imbue(locale("CHS"));  // 初始化cout为中文输出
    wcout << L"unicode编码:" << wstr1 << endl;
}

c++11新特性之宽窄字符转换

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120133.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java自定义注解和使用[通俗易懂]

    自定义注解@Target自定义注解的使用范围ElementType.METHOD:方法声明ElementType.TYPE:类、接口(包括注解类型)或enum声明ElementType.CONSTRUCTOR:构造器的声明ElementType.FIELD:域声明(包括enum实例)ElementType.LOCAL_VARIABLE:局部变量声明ElementType.PACKA…

    2022年4月13日
    66
  • 最好懂的python文件读写(详解)

    最好懂的python文件读写(详解)目录  1、文件读写的流程  2、文件读写的几种常见模式  3、read、readline、readlines的区别  4、对于一个10G的大文件,怎么高效的查看文件中的内容呢?1、文件读写的流程1)类比windows中手动操作txt文档,说明python中如何操作txt文件?①windows中手动操作txt文件的步骤找到word文档打开word文档查看(或操作)word文…

    2022年6月2日
    32
  • opencv-阈值处理

    opencv-阈值处理

    2022年1月8日
    39
  • response的contentType的类型值

    response的contentType的类型值转自:http://blog.csdn.net/andyzhaojianhui/article/details/72875698本文导读:ContentType属性指定服务器响应的HTTP内容类型。如果未指定ContentType,默认为text/html。response的ContentType()的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MI

    2022年7月19日
    20
  • UPX 加壳工具:The Ultimate Packer for eXecutables

    UPX 加壳工具:The Ultimate Packer for eXecutables

    2022年1月22日
    45
  • 博客背景颜色怎么改_皮肤图片

    博客背景颜色怎么改_皮肤图片步骤:管理博客–&amp;amp;amp;amp;amp;gt;博客设置–&amp;amp;amp;amp;amp;gt;鼠标箭头移至当前模板–&amp;amp;amp;amp;amp;gt;鼠标右键–&amp;amp;amp;amp;amp;gt;检查–&amp;amp;amp;amp;amp;gt;找到checked=“checked”readonly将这段代码剪切后–&amp;amp;amp;amp;amp;gt;粘贴

    2022年10月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号