网页地址中的汉字经常是形如“%u4e0d%u9650”这样的东西,怎样把他们变回汉字?该如何解决
网页地址中的汉字经常是形如“%u4e0d%u9650”这样的东西,怎样把他们变回汉字?
像这的网页:
http://rent.fs.soufun.com/rent/rent_info/searchList.aspx?Province=%u5e7f%u4e1c&City=%u4f5b%u5c71&District=&Room=%u4e0d%u9650&select=%u4e0d%u9650&rentType=HZ&select4=%u4e0d%u9650&Pricemax=%u4e0d%u9650&inHowManyDays=%u4e0d%u9650&housetype=JX
汉字都用像%u5c71这样的东西表示,这些东西是什么编码?怎样把他们变回本来的汉字?
------解决方案--------------------
DWORD c1,c2;
c1 = c2 = 0;
sscanf( "%u4e0d%u9650 ", "%%u%lx%%u%lx ",&c1,&c2);
TCHAR buf[16];
WORD *p = (WORD *)buf;
*p++ = (WORD)c1;
*p++ = (WORD)c2;
*p = 0;
::MessageBox(0,buf,_T( "转换结果 "),MB_OK);
------解决方案--------------------
这个看服务器段接受的是什么编码了,一般和网页编码方式相同
------解决方案--------------------
%u是unicode的
%xx%xx是gbk的
直接转成相应的16进制数就行了
printf( "%s\n ", "\xE5\xB9\xBF\xE5\xB7\x9E ")
看看结果
像这的网页:
http://rent.fs.soufun.com/rent/rent_info/searchList.aspx?Province=%u5e7f%u4e1c&City=%u4f5b%u5c71&District=&Room=%u4e0d%u9650&select=%u4e0d%u9650&rentType=HZ&select4=%u4e0d%u9650&Pricemax=%u4e0d%u9650&inHowManyDays=%u4e0d%u9650&housetype=JX
汉字都用像%u5c71这样的东西表示,这些东西是什么编码?怎样把他们变回本来的汉字?
------解决方案--------------------
DWORD c1,c2;
c1 = c2 = 0;
sscanf( "%u4e0d%u9650 ", "%%u%lx%%u%lx ",&c1,&c2);
TCHAR buf[16];
WORD *p = (WORD *)buf;
*p++ = (WORD)c1;
*p++ = (WORD)c2;
*p = 0;
::MessageBox(0,buf,_T( "转换结果 "),MB_OK);
------解决方案--------------------
这个看服务器段接受的是什么编码了,一般和网页编码方式相同
------解决方案--------------------
%u是unicode的
%xx%xx是gbk的
直接转成相应的16进制数就行了
printf( "%s\n ", "\xE5\xB9\xBF\xE5\xB7\x9E ")
看看结果