Python?中如何將十六進(jìn)制轉(zhuǎn)換為?Base64
本篇文章將介紹在 Python 中將 hex 轉(zhuǎn)換為 base64 的方法。
使用 Python 中的 codecs 模塊將 HEX 轉(zhuǎn)換為 BASE64
Python 中的 codecs 模塊提供了 encode()
和 decode()
方法來實(shí)現(xiàn)不同文本編碼格式之間的轉(zhuǎn)換。
encode()
函數(shù)有兩個(gè)參數(shù); 輸入字符串和編碼該字符串所需的格式。 此 encode()
函數(shù)的返回類型是以第二個(gè)參數(shù)中指定的格式編碼的字符串。
decode()
函數(shù)也只有兩個(gè)參數(shù); 編碼的輸入字符串和輸入字符串的編碼格式。 decode()
函數(shù)根據(jù)第二個(gè)參數(shù)中指定的格式返回解碼后的字符串。
要將十六進(jìn)制字符串編碼為 base64 字符串,我們首先通過將 hex 指定為第二個(gè)參數(shù),使用 decode()
函數(shù)將該十六進(jìn)制字符串解碼為常規(guī)字符串。 然后,我們將通過將 base64 指定為第二個(gè)參數(shù),使用 encode()
函數(shù)對先前操作的輸出進(jìn)行編碼。
以下代碼片段詳細(xì)說明了使用 Python 中的編解碼器模塊將十六進(jìn)制字符串編碼為 base64 字符串所需的步驟。
import codecs hex_string = "10000000000002ae" b64_string = codecs.encode(codecs.decode(hex_string, 'hex'), 'base64').decode() print(b64_string)
輸出:
EAAAAAAAAq4=
在上面的代碼中,我們使用編解碼器模塊將十六進(jìn)制字符串 10000000000002ae 編碼為 base64 字符串 EAAAAAAAAq4= 。
使用 Python 中的 base64 模塊將 HEX 轉(zhuǎn)換為 BASE64
Python 中另一個(gè)用于在不同文本編碼格式之間進(jìn)行轉(zhuǎn)換的有用模塊是 base64。 base64 模塊為此任務(wù)提供了 b64encode()
和 b64decode()
函數(shù)。
b64encode()
函數(shù)將字節(jié)串作為輸入?yún)?shù),將其轉(zhuǎn)換為base64格式,返回base64編碼后的字符串。 同樣,b64decode()
函數(shù)采用 base64 編碼的字符串,將其轉(zhuǎn)換為字節(jié)字符串,并返回解碼后的字節(jié)字符串。
對于這個(gè)特殊問題,我們必須首先使用 bytes.fromhex()
函數(shù)將輸入字符串轉(zhuǎn)換為字節(jié)字符串。 然后,我們將使用 b64encode()
函數(shù)將該字節(jié)字符串編碼為 base64 字符串。
以下代碼片段演示了我們?nèi)绾问褂?Python 中的 base64 模塊將十六進(jìn)制字符串編碼為 base64 字符串。
from base64 import b64encode, b64decode hex_string = '10000000000002ae' b64_string = b64encode(bytes.fromhex(hex_string)).decode() print(b64_string)
輸出:
EAAAAAAAAq4=
在上面的代碼中,我們使用 base64 模塊將十六進(jìn)制字符串 10000000000002ae 編碼為 base64 字符串 EAAAAAAAAq4=。
使用 Python 中的 binascii 模塊將 HEX 轉(zhuǎn)換為 BASE64
我們還可以使用 Python 的 binascii 模塊在不同的文本編碼格式之間進(jìn)行轉(zhuǎn)換。 binascii 模塊提供了 unhexlify()
和 b2a_base64()
等函數(shù),可以在這種情況下使用。
unhexlify()
函數(shù)將十六進(jìn)制字符串作為輸入?yún)?shù),將其轉(zhuǎn)換為字節(jié)字符串,并返回結(jié)果。 b2a_base64()
函數(shù)將一個(gè)字節(jié)字符串作為輸入?yún)?shù),將其轉(zhuǎn)換為 base64 字符串,并返回結(jié)果。
在我們的特定問題中,我們需要首先使用 unhexlify()
函數(shù)將十六進(jìn)制字符串轉(zhuǎn)換為字節(jié)字符串,然后使用 b2a_base64()
函數(shù)將前面操作的結(jié)果轉(zhuǎn)換為 base64 字符串。
以下代碼示例演示了如何使用 binascii 模塊在 Python 中將十六進(jìn)制字符串轉(zhuǎn)換為 base64。
from binascii import unhexlify, b2a_base64 hex_string = "10000000000002ae" b64_string = b2a_base64(unhexlify(hex_string)) print(b64_string)
輸出:
EAAAAAAAAq4=
在上面的代碼中,我們使用 binascii 模塊將十六進(jìn)制字符串 10000000000002ae 編碼為 base64 字符串 EAAAAAAAAq4=。 在上面討論的所有方法中,binascii 方法是最直接的,我們需要編寫最少的代碼來實(shí)現(xiàn)它。
在 Python2 中將 HEX 轉(zhuǎn)換為 BASE64
另一方面,如果我們使用原生支持十六進(jìn)制和 base64 字符串的 Python2,我們可以大大減少所需的代碼量。 下面的代碼片段演示了我們?nèi)绾卧?Python2 中將十六進(jìn)制字符串轉(zhuǎn)換為 base64 字符串。
hex_string = "10000000000002ae" b64_string = hex_string.decode("hex").encode("base64") print(b64_string)
輸出:
EAAAAAAAAq4=
我們不需要在上面的代碼中導(dǎo)入任何模塊,因?yàn)?Python2 本身就支持十六進(jìn)制和 base64 字符串。 我們首先使用 decode("hex")
函數(shù)將十六進(jìn)制字符串轉(zhuǎn)換為字節(jié)字符串,然后使用 encode("base64")
函數(shù)將其輸出編碼為 base64。
到此這篇關(guān)于在 Python 中將十六進(jìn)制轉(zhuǎn)換為 Base64的文章就介紹到這了,更多相關(guān)Python 十六進(jìn)制轉(zhuǎn)換 Base64內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python tensorflow與pytorch的浮點(diǎn)運(yùn)算數(shù)如何計(jì)算
這篇文章主要介紹了Python tensorflow與pytorch的浮點(diǎn)運(yùn)算數(shù)如何計(jì)算,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-11-11python利用dlib獲取人臉的68個(gè)landmark
這篇文章主要介紹了python利用dlib獲取人臉的68個(gè)landmark,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python中schedule模塊關(guān)于定時(shí)任務(wù)使用方法
這篇文章主要介紹了Python中schedule模塊關(guān)于定時(shí)任務(wù)使用方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05Python 實(shí)現(xiàn)將數(shù)組/矩陣轉(zhuǎn)換成Image類
今天小編就為大家分享一篇Python 實(shí)現(xiàn)將數(shù)組/矩陣轉(zhuǎn)換成Image類,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python Pandas高級功能之?dāng)?shù)據(jù)透視表和字符串操作
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫,這篇文章將深入探討Pandas庫的高級功能:數(shù)據(jù)透視表和字符串操作,需要的朋友可以參考下2023-07-07Python實(shí)現(xiàn)清理重復(fù)文件功能的示例代碼
在電腦上或多或少的存在一些重復(fù)文件,體積小的倒沒什么,如果體積大的就很占內(nèi)存了。本文用python制作了一個(gè)刪除重復(fù)文件的小工具,核心代碼很簡單,希望對你有所幫助2022-07-07Python中ImportError錯(cuò)誤的詳細(xì)解決方法
最近辛辛苦苦安裝完了python,最后再運(yùn)行的時(shí)候會(huì)出現(xiàn)錯(cuò)誤,所以這篇文章主要給大家介紹了關(guān)于Python中ImportError錯(cuò)誤的詳細(xì)解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07