Unicode下CString转UTF-8,再转UTF-8的%形式
来源:互联网 发布:ipad 抓包淘宝旧版本 编辑:程序博客网 时间:2024/06/15 14:14
CString str(_T("我是中国人")); CT2A szUtf8(str,CP_UTF8); string s_utf8(szUtf8); CString strRet; //转换成URL encode ConvertStringToURLCoding(strRet,s_utf8.c_str(),s_utf8.length //////////////////////////////////////////BOOL ConvertStringToURLCoding(CString &strDest, const char* strUTF8, int iLength){strDest.Empty();CString strTemp;int i = 0;while(i < iLength){if ((unsigned)strUTF8[i] <= (unsigned char)0x7f){ //字母和数字不转换if ((strUTF8[i] >= '0' && strUTF8[i] <= '9') || (strUTF8[i] >= 'A' && strUTF8[i] <= 'Z') ||(strUTF8[i] >= 'a' && strUTF8[i] <= 'z')||(strUTF8[i]>=8 && strUTF8[i]<=14)||strUTF8[i]==42||strUTF8[i] =='@'||strUTF8[i] =='_'){strDest += (TCHAR)strUTF8[i];}else if (strUTF8[i] == ' ') //空格转换成+号{strDest += _T('+');}else //其他标点符号{strTemp.Format(_T("%%%02X"), (unsigned char)strUTF8[i]);strDest += strTemp;}i++;}else{ //汉字或者其他的uft8文字,每3个字节一转strTemp.Format(_T("%%%02X%%%02X%%%02X"), (unsigned char)strUTF8[i], (unsigned char)strUTF8[i + 1], (unsigned char)strUTF8[i + 2]);strDest += strTemp;i += 3;}}if (i == 0){return FALSE;}return TRUE;}
0 0
- Unicode下CString转UTF-8,再转UTF-8的%形式
- UTF-8 转 Unicode
- UTF-8 转 Unicode
- Unicode转UTF-8
- unicode转utf-8
- Unicode转utf-8
- Unicode转UTF-8
- UTF-8 转 UNIcode
- UTF-8、UTF-16、Unicode的区别
- mac下utf-8转unicode
- WM5.0下,Unicode转UTF-8的方法
- Unicode、UCS、UTF-8、UTF-16、UTF-32 的关系
- Unicode与UTF-8/UTF-16/UTF-32的区别
- Unicode与UTF-8/UTF-16/UTF-32的区别
- window下ANSI转UTF-8,UTF-8转Unicode的实现
- Unicode,UTF-8,UTF-16,UTF-32
- unicode,utf-8,utf-16,utf-32
- Unicode UTF-8 UTF-16
- x264设定
- debian6 apt-get 源配置文件source.list
- Oracle 11g 针对SQL性能的新特性(一)- Adaptive Cursor Sharing
- Python 正则表达式验证多行注释
- fopen 参数
- Unicode下CString转UTF-8,再转UTF-8的%形式
- 搜索引擎系列 -lucene简介 创建索引和搜索初步步骤
- JavaScript 基础(一)
- 明道学院——《揭开CRM部署的隐藏成本》
- listView单选实现(二)
- Emergency vi (vim tutorial)
- 窗口、视口、屏幕显示详解--计算机绘图基本功
- kmp算法看的3篇博客(未整理)
- Android读取/dev/graphics/fb0 屏幕截图