MFC中怎么将一个字符串中的UNICODE编码转换成中文
MFC中如何将一个字符串中的UNICODE编码转换成中文
例如:
mfc中,将字符串str1="name:\u4e2d\u56fd\u4eba.png"转换成中文显示是str2="name:中国人.png";
希望路过的大神赐教,小弟我不慎感激!!!
最好能给一个DEMO,以便我具体的去分析。谢谢!!!
------解决方案--------------------
="name:\u4e2d\u56fd\u4eba.png
你确定这个是那种字符格式
然后进行转换
------解决方案--------------------
"\u4e2d"转成"中"
------解决方案--------------------
这是URL字串吧, 就是 URL 解码。
------解决方案--------------------
const wchar_t *szHex=L"0x4e2d";
int nValue=0;
StrToIntExW(szHex,STIF_SUPPORT_HEX,&nValue);
WCHAR* pWchar=(WCHAR*)&nValue;
MessageBox(pWchar);
------解决方案--------------------
例如:
mfc中,将字符串str1="name:\u4e2d\u56fd\u4eba.png"转换成中文显示是str2="name:中国人.png";
希望路过的大神赐教,小弟我不慎感激!!!
最好能给一个DEMO,以便我具体的去分析。谢谢!!!
mfc
UNICODE
中文转换
------解决方案--------------------
="name:\u4e2d\u56fd\u4eba.png
你确定这个是那种字符格式
然后进行转换
------解决方案--------------------
"\u4e2d"转成"中"
WCHAR szHex=L"0x4e2d";
int nValue=0;
StrToIntExW(szHex,STIF_SUPPORT_HEX,&nValue);
WCHAR* pWchar=(WCHAR*)&nValue;
MessageBoxW(NULL,pWchar,NULL,NULL);
------解决方案--------------------
这是URL字串吧, 就是 URL 解码。
------解决方案--------------------
const wchar_t *szHex=L"0x4e2d";
int nValue=0;
StrToIntExW(szHex,STIF_SUPPORT_HEX,&nValue);
WCHAR* pWchar=(WCHAR*)&nValue;
MessageBox(pWchar);
------解决方案--------------------
#include <windows.h>
#include <shlwapi.h>
#include <string>
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "shlwapi.lib")
using namespace std;
#define IS_NUMBER(c) ((c) && (((c) >= '0' && (c) <= '9')
------解决方案--------------------
((c) >= 'a' && (c) <= 'f')
------解决方案--------------------
((c) >= 'A' && (c) <= 'F')))
wstring TranslateString(LPCWSTR wszOrig)
{
wstring ret;
LPCWSTR curChar = wszOrig;
while (*curChar)
{
if (curChar[0] == L'\\' &&
(curChar[1] == L'u'
------解决方案--------------------
curChar[1] == L'U') &&
IS_NUMBER(curChar[2]) &&
IS_NUMBER(curChar[3]) &&
IS_NUMBER(curChar[4]) &&
IS_NUMBER(curChar[5]))
{
wchar_t hex[8] = {'0', 'x'};