Python和Java的BASE64操作

Python中的操作

1.1 相关链接

1.2 举例说明

在Python中,base64.b64encode()方法用于对给定的字节数据进行Base64编码。该方法接受一个bytes-like对象(例如字节数组或字节字符串)作为输入,并返回一个Base64编码的字节字符串。

使用base64.b64encode()方法的基本语法如下:

import base64
encoded_bytes = base64.b64encode(data)

其中,data是要进行Base64编码的字节数据。

示例:

import base64

# 中文字符串
chinese_string = "你好"

# 使用encode()方法将Unicode字符串转换为字节码。
data = chinese_string.encode('utf-8')

# 对字节数据进行Base64编码
encoded_bytes = base64.b64encode(data)

# 将Base64编码后的字节数据转换为字符串输出
encoded_string = encoded_bytes.decode('utf-8')
print("Original String: ", chinese_string)
print("Base64 Encoded: ", encoded_string)

运行上述代码,将得到以下输出:

Original String:  你好
Base64 Encoded:  5L2g5aW9

中文字符串"你好"被编码成Base64字符串"5L2g5aW9"。需要注意的是,Base64编码的结果是一个字节字符串,如果需要转换成可读的Unicode字符串,需要使用.decode('utf-8')进行解码。

1.3 补充说明

# Unicode字节码
"你好".encode()
b'\xe4\xbd\xa0\xe5\xa5\xbd'

# GBK的字节码
"你好".encode('gbk')
b'\xc4\xe3\xba\xc3'

Java中的操作

在Java中,可以使用Base64类来将汉字字符串转换为Base64编码。Java标准库中的Base64类提供了静态方法来进行Base64编码和解码操作。

以下是将汉字字符串"你好"转换为Base64编码的示例代码:

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Main {
    public static void main(String[] args) {
        String chineseString = "你好";

        // 将汉字字符串转换为字节数据
        byte[] data = chineseString.getBytes(StandardCharsets.UTF_8);

        // 对字节数据进行Base64编码
        String base64EncodedString = Base64.getEncoder().encodeToString(data);

        System.out.println("Original String: " + chineseString);
        System.out.println("Base64 Encoded: " + base64EncodedString);
    }
}

运行上述代码,将得到以下输出:

Original String: 你好
Base64 Encoded: 5L2g5aW9

在这个示例中,我们首先将汉字字符串"你好"转换为UTF-8编码的字节数据,然后使用Base64.getEncoder().encodeToString()方法将字节数据进行Base64编码。最终得到的base64EncodedString就是汉字"你好"的Base64编码。

posted @ 2023-07-21 23:47  又是火星人  阅读(682)  评论(0编辑  收藏  举报