很郁闷,在html文件的form中包含中文,点击提交后我得到的
数据为%C8%B7%C8%CF%D0%DE%B8%C4......
偶不知道这是什么编码方式,也就不知道应该怎么去解.....
请各位大虾帮忙
给个链接或者解码算法吧另:偶只知道%20是空格...

解决方案 »

  1.   

    就是汉字的内码,一个汉字占两个字节,空格的ascii码是20H,因此%20表示空格,同样“确”的内码是C8B7H,因此%c8%b7就是“确”,你上面的字符串是“确认修改”
      

  2.   

    补充一下,根本不需要什么解码算法,你使用的字符串就是以二进制内码的形式存储在内存中的,因此声明:
    char str[]="确认修改";
    那么str数组中的元素值就依次为0xC8,0xB7,0xC8,0xCF,0xD0,0xDE,0xB8,0xC4,因此将你得到的字符串化成相应的十六进制值存储在数组中直接输出就可以了。
      

  3.   

    对不起,我初学vc,虽说我明白你的意思,但是,我不知道vc用什么函数能把%C8%B7%C8%CF%D0%DE%B8%C4这串字符转换为“确认修改”这四个字符。
    我只知道VB的:
      s = "CECAD7A8BCD2" 
        s2 = "" 
        For i = 1 To Len(s) Step 4 
         s2 = s2 + Chr("&H" + Mid(s, i, 4)) 
        Next 
        Print s2 
    vc的用法我就不知道了请帮忙!
      

  4.   

    int main(int argc, char* argv[])
    {
    char instr[]="%C8%B7";
    char outstr[3]="";
    sscanf(instr,"%%%X%%%X",&outstr[0],&outstr[1]);
    puts(outstr);
    }