只有35分了~55~ “浏览栏上面传变量的时候汉字都译成"%DF%GT%GR%GH%HY%HU" 类似,我怎么把这样的字串变成汉字

miss_season 2005-01-11 06:57:58
救人~~
“浏览栏上面传变量的时候汉字都译成"%DF%GT%GR%GH%HY%HU" 类似,我怎么把这样的字串变成汉字
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tudou614 2005-03-05
  • 打赏
  • 举报
回复
UP + 学习
yangki 2005-03-02
  • 打赏
  • 举报
回复
一个宏
yangki 2005-01-13
  • 打赏
  • 举报
回复
我写的一个函数:
//将UTF8码转成正常的汉字
/*
将UTF-8码转化成正常的汉字
参数:
[in] in 输入的UTF-8码
[in,out] out 输出结果
返回值:
0 成功,否则失败。
*/
BOOL revertUTF8(CString in, CString *out)
{
int wch = 0;
int wch1 = 0;
int wch2 = 0;
try
{
for(int i=0; i<in.GetLength(); i++)
{
CString a = in.Mid(i,1);
char p = (*CT2A(a));
if(p==37)
{
char *p = CT2A(in.Mid(i+1,2));
wch = strtol(p,NULL,16);
i = i + 2;

if ( 0 == wch )
{
break;
}

if ( 0 == (wch & 0x80) )
{
wch = wch;
}
else if ( 0 == (wch & 0x20))
{
i++;
wch1 = strtol(CT2A(in.Mid(i+1,2)),NULL,16);
i = i + 2;
wch = (wch & 0x1F) << 6;
wch1 = wch1 & 0X3F;
wch = wch + wch1;
}
else
{
i++;
wch1 = strtol(CT2A(in.Mid(i+1,2)),NULL,16);
i = i + 2;

i++;
wch2 = strtol(CT2A(in.Mid(i+1,2)),NULL,16);
i = i + 2;

wch = (wch & 0x0F) << 12;
wch1 = (wch1 & 0x3F) << 6;
wch2 = (wch2 & 0x3F);

wch = wch + wch1 + wch2;
}
out->AppendChar(TCHAR(wch));
}
else
{
out->AppendChar(in.GetAt(i));
}
}
}
catch (...)
{
return 1;
}
return 0;
}
miss_season 2005-01-13
  • 打赏
  • 举报
回复
请问楼上 CT2A 是什么
xj1122 2005-01-12
  • 打赏
  • 举报
回复
编码 和 解码 即可
ylh1223 2005-01-12
  • 打赏
  • 举报
回复
在URL中传值要编码和解码的
miss_season 2005-01-11
  • 打赏
  • 举报
回复
不是,是繁体
somedummy 2005-01-11
  • 打赏
  • 举报
回复
随便敲,就可以乱敲,不是吧?

十六进制里面怎么会有GT这样的东西?

照我估计是从unicode编码来的(要不然就是GB2312),还是按照我一开始说的方法去做就可以了
miss_season 2005-01-11
  • 打赏
  • 举报
回复
当然是随便敲的,是16进制的数
lt95950 2005-01-11
  • 打赏
  • 举报
回复
好像跟具体的编码有关
somedummy 2005-01-11
  • 打赏
  • 举报
回复
我非常怀疑这个是搂住随手敲的,这样的话应该是敲了某些错误的内容

我没有仔细研究过,不过这个应该是用ASCII编码的unicode或者其他的编码的内容

如果我猜得没错,那么只要把这些东西复制出来,去掉%,然后当作数写入文本文件,设置好编码就能读出来了
somedummy 2005-01-11
  • 打赏
  • 举报
回复
这个是复制出来的还是搂主随便敲的?

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧