std::string转为 std::wstring

std::wstring UTF8_To_UTF16(const std::string& source)
{
unsigned long len = ::MultiByteToWideChar(CP_UTF8, NULL, source.c_str(), -1, NULL, NULL); //::表示全局函数 不加:: 默认先调用类中的同名函数
if(len == 0)
return std::wstring();
wchar_t *buffer = new wchar_t[len];
::MultiByteToWideChar(CP_UTF8, NULL, source.c_str(), -1, buffer, len); std::wstring dest(buffer);
delete[] buffer;
return dest;
}

std::wstring转为 std::string

std::string UTF16_To_UTF8(const std::wstring& source)
{
unsigned long len = ::WideCharToMultiByte(CP_UTF8, NULL, source.c_str(), -1, NULL, NULL, NULL, NULL); //::表示全局
if(0 == len)
{
return std::string();
} char* buffer = new char[len];
::WideCharToMultiByte(CP_UTF8, NULL, source.c_str(), -1, buffer, len, NULL, NULL);
std::string dest(buffer);
delete[] buffer;
return dest; }

最新文章

  1. setValue和setObject的区别
  2. 在 lua 中实现函数的重载
  3. Java报错原因汇总
  4. Fzu oj2194星系碰撞(排序+并查集+路径压缩)
  5. html之ul标签
  6. hdu 1718 Rank
  7. android bitmap out of memory总结、心得
  8. Java程序员的日常—— 垃圾回收中引用类型的作用
  9. WPF Media 简单的播放器
  10. PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结
  11. eclipse新建maven web项目
  12. JavaScript对象访问器属性
  13. Linux系统IO分析工具之iotop常用参数介绍
  14. java & python猜数字游戏对比
  15. 一些关于SQL优化的总结
  16. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库 —— MariaDB 安装配置
  17. Qt编写守护程序保证程序一直运行(开源)
  18. 将DataRow赋值给model中同名属性
  19. 详解Python中的__init__和__new__(静态方法)
  20. 山寨一个std::bind\boost::bind

热门文章

  1. 13-在Core Mvc中使用Options
  2. python-8错误调试测试
  3. Still unable to dial persistent://blog.csdn.net:80 after 3 attempts
  4. python 发送 get post请求
  5. 点击事件处理, 以及hitTest:withEvent:实现
  6. 玩转Node.js(三)
  7. heat应用
  8. springboot集成shiro——使用RequiresPermissions注解无效
  9. 201621123034 《Java程序设计》第14周学习总结
  10. (转)详解JavaScript模块化开发