求救啊!!MSN文件传输的数据包问题!
当用户发送文件时发送的数据包Context字段包含传输文件的相关信息,形式如下:
Context: PgIAAAIAAAAsAQAAAAAAAAAAAAB0AGUAcwB0ADEAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n
我用base64解码为什么不对呢?是BASE64编码啊!如果解出的话应该是文件的名称!请各位大侠帮忙!!!!

解决方案 »

  1.   

    这不像base64编码,是不是去掉了某部分?CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com
      

  2.   

    协议上讲这是BASE64加密的!
    而且我的程序可以看得出文件的后缀名了!如果文件是英文名称的话也是可以的!
    但中文的话就解不出!
      

  3.   

    是不是UTF8编码??MultiByteToWideChar(CP_UTF8, ...);转为UNICODE试试
      

  4.   

    您的意思是直接UTF-8转成GB2312吗?
    我想问中文怎么变成BASE64哦?是GB2312转成UTF-8,然后UTF-8再转BASE64吗?
      

  5.   

    BASE64 convert to BYTE Buffer (UTF-8 BYTE)
    BYTE Buffer convert to UNICODE 
    CodePage=CP_UTF8
    use int MultiByteToWideChar(
      UINT CodePage,         // code page
      DWORD dwFlags,         // character-type options
      LPCSTR lpMultiByteStr, // string to map
      int cbMultiByte,       // number of bytes in string
      LPWSTR lpWideCharStr,  // wide-character buffer
      int cchWideChar        // size of buffer
    );