C11工具类:字符转换
1、数值类型和字符串转换
1.1 数值转换为字符
std::string to_string(int value);
std::string to_string(long value);
std::string to_string(long long value);
std::string to_string(unsigned value);
std::string to_string(unsigned long value);
std::string to_string(unsigned long long value);
std::string to_string(float value);
std::string to_string(double value);
std::string to_string(long double value); std::wstring to_wstring(int value);
std::wstring to_wstring(long value);
std::wstring to_wstring(long long value);
std::wstring to_wstring(unsigned value);
std::wstring to_wstring(unsigned long value);
std::wstring to_wstring(unsigned long long value);
std::wstring to_wstring(float value);
std::wstring to_wstring(double value);
std::wstring to_wstring(long double value);
1.2 字符转换为数字
std::aoti(const char *):字符串转换为int类型。
std::aotl(const char *):字符串转换为long类型。
std::aotll(const char *):字符串转换为long long类型。
std::aotf(const char *):字符串转换为浮点类型。
如果需要转换的字符串前面部分不是数字,会返回0;如果字符串的前面部分有空格含数字,转换时忽略空格并获得前面的数字。
2、宽窄字符串转换
C++11增加了unicode字面量的支持,可以通过L来定义宽字符。
std::wstring str = L"中国人"; //定义unicode字符串
将宽字符串转换为窄字符串需要用到codecvt库中的std::wstring_convert,不过需要借助以下几个unicode转换器:
std::codocvt_utf8,封装了UTF-8与UCS2及UTF-8与UCS4的编码转换。
std::codocvt_utf16,封装了UTF-16与UCS2及UTF-16与UCS4的编码转换。
std::codocvt_utf8_utf_16,封装了UTF-8与UTF-16的编码转换。
std::wstring_convert使std::string和std::wstring之间的相互转换变得很方便。
#include <string>
#include <codecvt>
#include <iostream> int main()
{
std::wstring str = L"中国人";
std::wstring_convert<std::codecvt<wchar_t, char, std::mbstate_t>> converter(new std::codecvt<wchar_t, char, std::mbstate_t>("CHS")); std::string narrowStr = converter.to_bytes(str); //string 转化为wstring
std::wstring wstr = converter.from_bytes(narrowStr); std::cout << narrowStr << std::endl; std::wcout.imbue(std::locale("chs")); std::wcout << wstr << std::endl; return ;
}
//执行结果
中国人
中国人
C11工具类:字符转换的更多相关文章
- 工具类--BeanUtils----Bean转换工具
package com.zhouyy.netBank.util; import java.beans.PropertyDescriptor; import java.lang.reflect.Fiel ...
- C11工具类:时间处理
C++11提供时间管理类,包括三种类型:时间间隔duration,时钟clocks,时间点time point. 1.记录时常的duration 1.1 原型 duration表示一段时间间隔,用来记 ...
- ios 加密解密工具类字符判断等
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface Helpers : NSObject ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- 项目经验分享——Java常用工具类集合 转
http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...
- SerializeUtil 序列化,反序列化工具类
package cloud.app.prod.home.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...
- 利用Jackson封装常用JsonUtil工具类
在日常的项目开发中,接口与接口之间.前后端之间的数据传输一般都是使用JSON格式,那必然会封装一些常用的Json数据转化的工具类,本文讲解下如何利用Jackson封装高复用性的Json转换工具类. 转 ...
- Json与javaBean之间的转换工具类
/** * Json与javaBean之间的转换工具类 * * {@code 现使用json-lib组件实现 * 需要 * json-lib-2.4-jdk15.jar * ...
- StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...
随机推荐
- c# 窗体与窗体外的文件互动(拖拽)
大部分控件都有此事件drag相关. 以picturebox为例: pictureBox1.AllowDrop = true;//此属性需要全打出来,不会自动识别添加 private void pict ...
- 依据Right-BICEP要求的对四则运算2的测试
代码: #include <iostream> #include <time.h> #include <stdio.h> #include <stdlib.h ...
- 在windows和unbuntu上安装octave
windows安装octave 安装wiki Octave ftp库 从上述的库中可以找到对应的版本的octave的exe安装程序,或者是zip等的压缩包,建议直接下载对应系统的exe执行文件.安装. ...
- C语言的调查
1.你对自己的未来有什么规划?做了哪些准备?从事跟本专业相关的工作.认真学习好书本的知识,并能很好的运用它. 2.你认为什么是学习?学习有什么用?现在学习动力如何?为什么?学习可以让自己懂得更多,完善 ...
- DB2的编目
D在DB2数据库中,编目(catalog)这个单词很难理解,我自己当初在学习DB2的时候也常常被这个编目搞的很不明白,直到现在我个人也感觉到DB2中编目(catalog)这个术语用的不是很好,具体来说 ...
- slf4j与logback的结合使用
参考:http://my.oschina.net/ydsakyclguozi/blog/412240 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logbac ...
- ngx_http_rewrite_module(重定向)
1:指定rewrite规则 rewrite regex replacement [flag]; 什么是rewrite规则:If the specified regular expression m ...
- python之enumerate()学习
X = 'abcdefghijklmn' for (index,char) in enumerate(X): print (index, char) 利用enumerate()函数,可以在每次循环中同 ...
- .netMVC Vue axios 获取数据
网页 <link href="~/Content/css/bootstrap-theme.min.css" rel="stylesheet" /> ...
- ios基础动画、关键帧动画、动画组、转场动画等
概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...