无法base64正确解码utf8特殊字符

2024-10-10 18:26:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Android应用程序,可以与Python后端进行通信。它发送一个base64编码的字符串,Python服务器对其进行解码。它目前适用于0-9个A-z字符,但如果我输入一个æ,ø或其他特殊字符,整个输出都是乱码。我认为这是一个编码问题,但我不太清楚我做错了什么。在

爪哇语:

public static String encodeToBase64(String text){
        byte[] data = null;
        try {
            data = text.getBytes("UTF-8");
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
            return text;
        }

        text = Base64.encodeToString(data, Base64.DEFAULT);
        return text;

    }

还有Python

^{pr2}$

有人能看出问题出在哪里吗?在

在Java方面,如果我发送以下文本,一切都很好

input = "[Mar 6 - 15:45:5] hello world"
output = "W01hciA2IC0gMTU6NDU6NV0gaGVsbG8gd29ybGQKQmF0dGVyeTogNTAuMCU="

但是,以下操作不起作用。在

input = "[Mar 6 - 15:46:54] hello wørld"

当Python对其进行解码时,会得到以下结果:

[Mar 6 - 15:46:54] ᘀ栀攀氀氀漀 眀爀氀

它被编码为


Tags: 字符串text应用程序hello编码inputdatastring