zoukankan      html  css  js  c++  java
  • std::wstring

    std::wstring主要用于 UTF-16编码的字符,
    std::string主要用于存储单字节的字符( ASCII字符集 ),但是也可以用来保存UTF-8编码的字符。
    UTF-8和UTF-16是UNICODE字符集的两种不同的字符编码。
    std::string ws2s(const std::wstring &ws)
    {
        size_t i;
        std::string curLocale = setlocale(LC_ALL, NULL);
        setlocale(LC_ALL, "chs");
        const wchar_t* _source = ws.c_str();
        size_t _dsize = 2 * ws.size() + 1;
        char* _dest = new char[_dsize];
        memset(_dest, 0x0, _dsize);
        wcstombs_s(&i, _dest, _dsize, _source, _dsize);
        std::string result = _dest;
        delete[] _dest;
        setlocale(LC_ALL, curLocale.c_str());
        return result;
    }
    
    std::wstring s2ws(const std::string &s)
    {
        size_t i;
        std::string curLocale = setlocale(LC_ALL, NULL);
        setlocale(LC_ALL, "chs");
        const char* _source = s.c_str();
        size_t _dsize = s.size() + 1;
        wchar_t* _dest = new wchar_t[_dsize];
        wmemset(_dest, 0x0, _dsize);
        mbstowcs_s(&i, _dest, _dsize, _source, _dsize);
        std::wstring result = _dest;
        delete[] _dest;
        setlocale(LC_ALL, curLocale.c_str());
        return result;
    }
  • 相关阅读:
    css相关
    文章管理列表
    高性能MySQL基础篇
    mysql
    node.js开发实战
    React Hooks
    client-*,scroll-*,offset-*的区别
    将create-react-app从javascript迁移到typescript
    为Github项目添加Travis持续集成服务
    cookie储存
  • 原文地址:https://www.cnblogs.com/osbreak/p/11080076.html
Copyright © 2011-2022 走看看