Android PHP Base64解码结果不同

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使用这种类型

我有一个大问题:如果我进行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