python中str、bytes、十六進(jìn)制字符串之間的相互轉(zhuǎn)換方法
前言
在Python中,str
(字符串)、bytes
(字節(jié)序列)以及十六進(jìn)制字符串(通常以字符串形式存在,但內(nèi)容表示十六進(jìn)制數(shù))之間的轉(zhuǎn)換是非常常見的操作。這里將詳細(xì)說明它們之間的轉(zhuǎn)換方法。
1. str 到 bytes 的轉(zhuǎn)換
要將str
(字符串)轉(zhuǎn)換為bytes
(字節(jié)序列),可以使用str
的.encode()
方法。這個方法默認(rèn)使用UTF-8編碼將字符串轉(zhuǎn)換成字節(jié)序列。
s = "hello" b = s.encode('utf-8') # 使用UTF-8編碼 print(b) # 輸出: b'hello'
如果字符串包含非ASCII字符,確保使用正確的編碼以避免UnicodeEncodeError
。
2. bytes 到 str 的轉(zhuǎn)換
將bytes
(字節(jié)序列)轉(zhuǎn)換回str
(字符串),可以使用bytes
的.decode()
方法。這個方法默認(rèn)也使用UTF-8編碼。
b = b'hello' s = b.decode('utf-8') print(s) # 輸出: hello
如果bytes
數(shù)據(jù)不是用UTF-8編碼的,你需要指定正確的編碼來避免UnicodeDecodeError
。
3. str 表示的十六進(jìn)制字符串到 bytes 的轉(zhuǎn)換
如果有一個十六進(jìn)制字符串(即,字符串中的字符是十六進(jìn)制數(shù),如"48656c6c6f"
表示"hello"
),可以使用bytes.fromhex()
方法將其轉(zhuǎn)換為bytes
。
hex_str = "48656c6c6f" b = bytes.fromhex(hex_str) print(b) # 輸出: b'hello'
4. bytes 到 十六進(jìn)制字符串(str)的轉(zhuǎn)換
將bytes
轉(zhuǎn)換為十六進(jìn)制字符串,可以使用bytes
的.hex()
方法。
b = b'hello' hex_str = b.hex() print(hex_str) # 輸出: 48656c6c6f
總結(jié)
- 使用
.encode()
將str
轉(zhuǎn)換為bytes
。 - 使用
.decode()
將bytes
轉(zhuǎn)換為str
。 - 使用
bytes.fromhex()
將十六進(jìn)制字符串(str
)轉(zhuǎn)換為bytes
。 - 使用
.hex()
將bytes
轉(zhuǎn)換為十六進(jìn)制字符串(str
)。
注意:在進(jìn)行編碼和解碼操作時,應(yīng)確保使用正確的字符編碼(如UTF-8),以避免出現(xiàn)編碼錯誤。
到此這篇關(guān)于python中str、bytes、十六進(jìn)制字符串之間相互轉(zhuǎn)換方法的文章就介紹到這了,更多相關(guān)python中str、bytes、十六進(jìn)制字符串相互轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python 內(nèi)置函數(shù)進(jìn)制轉(zhuǎn)換的用法(十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制)
- Python二進(jìn)制串轉(zhuǎn)換為通用字符串的方法
- Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例
- Python 字節(jié)流,字符串,十六進(jìn)制相互轉(zhuǎn)換實例(binascii,bytes)
- Python實現(xiàn)的十進(jìn)制小數(shù)與二進(jìn)制小數(shù)相互轉(zhuǎn)換功能
- Python 16進(jìn)制與中文相互轉(zhuǎn)換的實現(xiàn)方法
- python中常見進(jìn)制之間的轉(zhuǎn)換方式
- python十進(jìn)制和二進(jìn)制的轉(zhuǎn)換方法(含浮點數(shù))
相關(guān)文章
使用python實現(xiàn)strcmp函數(shù)功能示例
這篇文章主要介紹了使用python實現(xiàn)strcmp函數(shù)功能的示例,需要的朋友可以參考下2014-03-03requests庫post方法如何傳params類型的參數(shù)(最新推薦)
在使用requests庫的post方法時,params類型的參數(shù)用于在URL中作為查詢字符串傳遞,與data或json參數(shù)不同,后者是放在請求體中的,params參數(shù)接受一個字典或包含鍵值對的序列,本文給大家介紹requests庫post方法怎么傳params類型的參數(shù),感興趣的朋友一起看看吧2025-03-03使用TensorFlow搭建一個全連接神經(jīng)網(wǎng)絡(luò)教程
今天小編就為大家分享一篇使用TensorFlow搭建一個全連接神經(jīng)網(wǎng)絡(luò)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02