Android PHP Base64解码结果不同
我有一个大问题:如果我进行base64_解码($string),我不会得到相同的结果;在php中,或者如果我使用Base64.decode(字符串);在android中 例如: 使用以下字符串:WWHIZWWSZPNLAGSTNLJZQ== 在php中,结果是Yhbee'f“ehd”ž™行政长官 在android中,结果是Yhbee�F�ehd���行政长官 我认为存在编码问题,但我不知道在哪里,我的PHP服务器的输出是ISO-8859-1,我不知道如何告诉Base64.decode使用这种类型的编码 你能帮我吗?谢谢你的回答Android PHP Base64解码结果不同,php,android,base64,Php,Android,Base64,我有一个大问题:如果我进行base64_解码($string),我不会得到相同的结果;在php中,或者如果我使用Base64.decode(字符串);在android中 例如: 使用以下字符串:WWHIZWWSZPNLAGSTNLJZQ== 在php中,结果是Yhbee'f“ehd”ž™行政长官 在android中,结果是Yhbee�F�ehd���行政长官 我认为存在编码问题,但我不知道在哪里,我的PHP服务器的输出是ISO-8859-1,我不知道如何告诉Base64.decode使用这种类型
PS:我不能触摸PHP脚本。我认为解码很好,但Android没有应用正确的编码(可能是utf-8) 此内容是否显示在HTML页面上?如果是,您是否正确执行了
ISO-8859-1
编码
或者,您也可以切换到UTF-8。您应该尝试以下方法:
Base64.decode(content.getBytes("ISO-8859-1"), Base64.DEFAULT);
通过这种方式,您可以将输入字符串
内容
转换为ISO-8859-1
编码的字节流,该字节流将从base64解码。我认为这会对您有所帮助,不要使用.toString()
而是使用它
var str = "WWhiZWWSZpNlaGSTnpljZQ=="
var decoded = String(Base64.decode(str, Base64.NO_WRAP))
我知道这很晚才回答:-D可能与or重复。伙计们,值得注意的是Base64.DEFAULT标志将在结果末尾附加“\n”。要避免这种行为,请使用Base64.NO\u WRAP