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編碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章