c++ 转换unicode字符串为js \u格式

唯一注意的就是 大小端问题, PC基本是 LE

typedef union _uacode
{
    struct {
        BYTE LowByte;
        BYTE HighByte;
    }DUMMYSTRUCTNAME;
    struct {
        BYTE LowByte;
        BYTE HighByte;
    } u;
    wchar_t ch;
}UACODE;
string Unicode2AnsiCode(wstring str)
{
    const wchar_t *p = str.c_str();
    UACODE ua;
    string sResult(str.length()*6+1,‘\0‘);
    char*  pa = &sResult[0];
    for(wstring::const_iterator it = str.begin();it!=str.end();it++)
    {
        ua.ch = *it;
        if(ua.HighByte)
        {
            sprintf_s(pa,7,"\\u%02x%02x",ua.HighByte,ua.LowByte);
            pa+=6;
        }else{
            *pa = ua.LowByte;
            pa++;
        }

    }
    return sResult.c_str();
}

转换 "经常a中b"

string s = Unicode2AnsiCode(L"经常a中b");
    printf("%s\n",s.c_str());
输出:  \u7ecf\u5e38a\u4e2db
时间: 2024-12-21 03:45:31

c++ 转换unicode字符串为js \u格式的相关文章

JS时间格式 GMT格式转换

JavaScript时间格式转换总结 1.当前系统区域设置格式(toLocaleDateString和toLocaleTimeString) 例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString()结果: 2008年1月29日 16:13:112.普通字符串(toDateString和toTimeString) 例子: (new Date()).toDateString() + &quo

JSON字符串和JS对象之间的转换

1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eval('('+str+')') eval('['+str+']') 对象字符串 "{\"id\":\"001\",\"name\":\"sanzhang\"}" 对应的json格式 {"id":"001",&q

第八篇:使用字符串流对象进行格式转换

前言 字符串流对象有个很实用的功能就是格式转换.比如可以将整数类型的123转换成字符串格式的123,或者反过来.那么具体又是如何实现的?且看下文. 实现思路 对于整数转换成字符串格式,可设s是一个空的字符串流对象,” 整型变量 “存放目标整数.则当执行" s << 整型变量 "后,该整数将转成字符串格式并存进流中.随后代码中使用" s.str() "即可获取到该整数的字符串格式.对于字符串转换成整数格式,亦可设s是一个空的字符串流对象,” 整型变量 “存

js日期格式简单转换代码

js日期格式简单转换代码: 未经修饰的东西总是狂野粗糙的,比如人没有经过良好的教育,这人可能会有各种问题,同样js中的时间格式也是如此,所以要对时间进行一定的格式化操作,下面是一段非常简单的代码实例和大家分享一下. 代码如下: function dateStr(x,y) { var z={ y:x.getFullYear(), M:x.getMonth()+1, d:x.getDate(), h:x.getHours(), m:x.getMinutes(), s:x.getSeconds() }

数字按照不同格式转换成字符串

如果自己写函数,不使用itoa怎么判断呢? 我们用通常的办法,对数字进行每位的除商,得到后与字符'0'相加. flag = 0; for(i=0;i<6;i++){ tmp = int(num/pow(10,5-i)); if(tmp != 0){ *str = 1; flag = 1; } if(*str != 0 || flag){ *str++ = tmp+'0'; num = num%int(pow(10,5-i)); } } 要注意的就是,我们设置标志位flag,为1之前的所有0都不输

用ATL的W2A和A2W宏转换Unicode与ANSI字符串

#include <atlbase.h> 代码如下: //使用ATL的W2A和A2W宏必须使用USES_CONVERSION USES_CONVERSION; //Unicode字符串 wchar_t* wszText=L"1.Unicode字符转换为ANSI;"; printf("%s\n",W2A(wszText)); //用wprintf输出非英文字符,需要设置当前的地域信息 setlocale(LC_ALL,"chs"); /

JSON对象转换成字符串【JSON2.JS】

下载地址 https://github.com/douglascrockford/JSON-js JSON.JS和JSON2.JS的区别 JSON.JS使用的方法名称不同,用的是toJSONString()和parseJSON() ,使用的时候,和JQUERY的AJAX会产生冲突. JSON2.JS改进了上面的缺点 使用方法 在页面中添加json2.js的引用. <script type="text/javascript" src="/CoreResource/JS/j

js字符串转换成数字,数字转换成字符串

js字符串转换成数字   将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt('123') : 返回 123(int): parseInt('1234xxx') : 返回 1234(int): 如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测: 举例 : var i = parseInt('abc'); if (isNaN(i)) { alert('NaN value

Ansi 与 Unicode 字符串类型的互相转换

WideCharToMultiByte 实现宽字节转换到窄字节MultiByteToWideChar 实现窄字节转换到宽字节 WideCharToMultiByte 的代码页用来标记与新转换的字符串相关的代码页:MultiByteToWideChar 的代码页用来标记与一个多字节字符串相关的代码页, [1].常用的代码页有 CP_ACP 和 CP_UTF8 两个: 使用 CP_ACP 代码页就实现了 ANSI 与 Unicode 之间的转换:--- 我们所用的!使用 CP_UTF8 代码页就实现