A2W转换的是字符串啊,不是数据!
对于字符串,不够2个字节的字符补齐,够了的就不简单加了
你的"ED"之类的给你当中文字符处理了自己转换吧

解决方案 »

  1.   

    不是bug把,A2W是调用MultiByteToWideChar进行转化的,他会根据系统默认的code-page(CP_ACP)进行MBCS到Unicode的转换,显然,它把 ED 4C 误认为一个多字节字符(0xED > 0x87),然后根据它转成了相应的Unicode码 AE 97,此外ED 31->3F 00,98 13->3F 00,也是这样,由于系统找不到对应的多字节字符ED 31,98 13,无法转换所以用系统默认字符3F 00 ('?')代替了。此外,我想是不是应该先转换,再加密。
      

  2.   

    to beni():
    自己转换应该怎么整?to In355Hz(好象一条狗):
    先转换再加密也不行,因为加密算法里产生随机数的范围是:0x01到0xFF,所以仍然会出现大于0x87的编码,还有别的办法能够进行顺利转化吗?
      

  3.   

    to In355Hz(好象一条狗):
    先转换再加密可以得到正确的UNICODE码,但是出现了一个新问题,比如A:41 ,转化后就变成:41 00 ,加密后就成了 :04 00 00 00
                          4E 00 78 00
    它把00作为一个字节进行加密了,这样的直接结果是无法正确解密,哎,真是一波未平,一波又起啊…………请各位大虾发表高见!