本帖最后由 baikaifang 于 2009-5-5 22:36 编辑
例如汉字“水中燃烧”以ANSI方式编码的二进制值是 0xCBAED6D0C8BCC9D5,但在使用 StringToBinary 以 ANSI 编码 方式转换后得到的二进制值却是 0xCBAED6D0 ,后面的8位丢失了,然后再用 BinaryToString 以 ANSI 编码 方式转换回来后的汉字是“水中ŸĄ”,出现了乱码,请大家指定一下,如何用 ANSI编码方式 转换汉字后不丢失二进制值。$Hex = StringToBinary("水中燃烧", 1)
MsgBox(0,"ANSI 编码", "“水中燃烧” 转二进制是:" & $Hex)
MsgBox(0,"ANSI 编码", "二进制 " & $Hex & " 转汉字是:" & BinaryToString($Hex, 1))
MsgBox(0,"正确的编码", "二进制 0xCBAED6D0C8BCC9D5 转汉字是:" & BinaryToString("0xCBAED6D0C8BCC9D5", 1))
上面提到的值 0xCBAED6D0C8BCC9D5 是我用工具 HttpWatch 捕捉网页所提交的表单得到的。
解决方法见4楼 |