Python?中如何將十六進制轉換為?Base64
本篇文章將介紹在 Python 中將 hex 轉換為 base64 的方法。
使用 Python 中的 codecs 模塊將 HEX 轉換為 BASE64
Python 中的 codecs 模塊提供了 encode()
和 decode()
方法來實現不同文本編碼格式之間的轉換。
encode()
函數有兩個參數; 輸入字符串和編碼該字符串所需的格式。 此 encode()
函數的返回類型是以第二個參數中指定的格式編碼的字符串。
decode()
函數也只有兩個參數; 編碼的輸入字符串和輸入字符串的編碼格式。 decode()
函數根據第二個參數中指定的格式返回解碼后的字符串。
要將十六進制字符串編碼為 base64 字符串,我們首先通過將 hex 指定為第二個參數,使用 decode()
函數將該十六進制字符串解碼為常規(guī)字符串。 然后,我們將通過將 base64 指定為第二個參數,使用 encode()
函數對先前操作的輸出進行編碼。
以下代碼片段詳細說明了使用 Python 中的編解碼器模塊將十六進制字符串編碼為 base64 字符串所需的步驟。
import codecs hex_string = "10000000000002ae" b64_string = codecs.encode(codecs.decode(hex_string, 'hex'), 'base64').decode() print(b64_string)
輸出:
EAAAAAAAAq4=
在上面的代碼中,我們使用編解碼器模塊將十六進制字符串 10000000000002ae 編碼為 base64 字符串 EAAAAAAAAq4= 。
使用 Python 中的 base64 模塊將 HEX 轉換為 BASE64
Python 中另一個用于在不同文本編碼格式之間進行轉換的有用模塊是 base64。 base64 模塊為此任務提供了 b64encode()
和 b64decode()
函數。
b64encode()
函數將字節(jié)串作為輸入參數,將其轉換為base64格式,返回base64編碼后的字符串。 同樣,b64decode()
函數采用 base64 編碼的字符串,將其轉換為字節(jié)字符串,并返回解碼后的字節(jié)字符串。
對于這個特殊問題,我們必須首先使用 bytes.fromhex()
函數將輸入字符串轉換為字節(jié)字符串。 然后,我們將使用 b64encode()
函數將該字節(jié)字符串編碼為 base64 字符串。
以下代碼片段演示了我們如何使用 Python 中的 base64 模塊將十六進制字符串編碼為 base64 字符串。
from base64 import b64encode, b64decode hex_string = '10000000000002ae' b64_string = b64encode(bytes.fromhex(hex_string)).decode() print(b64_string)
輸出:
EAAAAAAAAq4=
在上面的代碼中,我們使用 base64 模塊將十六進制字符串 10000000000002ae 編碼為 base64 字符串 EAAAAAAAAq4=。
使用 Python 中的 binascii 模塊將 HEX 轉換為 BASE64
我們還可以使用 Python 的 binascii 模塊在不同的文本編碼格式之間進行轉換。 binascii 模塊提供了 unhexlify()
和 b2a_base64()
等函數,可以在這種情況下使用。
unhexlify()
函數將十六進制字符串作為輸入參數,將其轉換為字節(jié)字符串,并返回結果。 b2a_base64()
函數將一個字節(jié)字符串作為輸入參數,將其轉換為 base64 字符串,并返回結果。
在我們的特定問題中,我們需要首先使用 unhexlify()
函數將十六進制字符串轉換為字節(jié)字符串,然后使用 b2a_base64()
函數將前面操作的結果轉換為 base64 字符串。
以下代碼示例演示了如何使用 binascii 模塊在 Python 中將十六進制字符串轉換為 base64。
from binascii import unhexlify, b2a_base64 hex_string = "10000000000002ae" b64_string = b2a_base64(unhexlify(hex_string)) print(b64_string)
輸出:
EAAAAAAAAq4=
在上面的代碼中,我們使用 binascii 模塊將十六進制字符串 10000000000002ae 編碼為 base64 字符串 EAAAAAAAAq4=。 在上面討論的所有方法中,binascii 方法是最直接的,我們需要編寫最少的代碼來實現它。
在 Python2 中將 HEX 轉換為 BASE64
另一方面,如果我們使用原生支持十六進制和 base64 字符串的 Python2,我們可以大大減少所需的代碼量。 下面的代碼片段演示了我們如何在 Python2 中將十六進制字符串轉換為 base64 字符串。
hex_string = "10000000000002ae" b64_string = hex_string.decode("hex").encode("base64") print(b64_string)
輸出:
EAAAAAAAAq4=
我們不需要在上面的代碼中導入任何模塊,因為 Python2 本身就支持十六進制和 base64 字符串。 我們首先使用 decode("hex")
函數將十六進制字符串轉換為字節(jié)字符串,然后使用 encode("base64")
函數將其輸出編碼為 base64。
到此這篇關于在 Python 中將十六進制轉換為 Base64的文章就介紹到這了,更多相關Python 十六進制轉換 Base64內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python tensorflow與pytorch的浮點運算數如何計算
這篇文章主要介紹了Python tensorflow與pytorch的浮點運算數如何計算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-11-11