中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中bytes字節串和string字符串之間如何轉換

發布時間:2022-01-21 09:43:52 來源:億速云 閱讀:2382 作者:小新 欄目:開發技術

這篇文章主要介紹了Python中bytes字節串和string字符串之間如何轉換,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

背景

在工作中經常會碰到字節串(bytes)與字符串(string)之間轉換的問題,做個記錄。

bytes只負責用字節序列的形式(二進制形式)存儲數據,不關心數據本身是圖片、文字、視頻等等。如果需要使用并且展示的話,按照對應的解析規則處理,就可以拿到對應類型的數據。如常見的字符串類型,只需要使用對應的字符編碼格式,就可以拿到字符串的內容。

代碼

先看一下代碼。

#!/user/bin/env python
# coding=utf-8
"""
@project : csdn
@author  : huyi
@file   : byte_to_string.py
@ide    : PyCharm
@time   : 2021-12-23 11:47:45
"""
# 不指定字符集
b1 = b'I love u , baby'
print('b1', b1)
print(b1[:-3])
 
# 指定字符集
b2 = bytes('今天天氣真好/哈哈', encoding='UTF-8')
print('b2', b2)
 
# 字符串轉為bytes
str1 = '元宇宙會導致人類文明的停滯嗎?'
b3 = str1.encode('UTF-8')
print('b3', b3)
 
# bytes轉為字符串方法1
str2 = str(b3, 'UTF-8')
print('str2', str2)
 
# bytes轉為字符串方法1
str3 = b3.decode('UTF-8')
print('str3', str3)

代碼說明:

1、可以使用字符串前面加小寫字母b的方式定義bytes,但是不建議,建議使用b2的定義方式,可以調整字符編碼。

2、字符串類型的數據可以通過encode方法,將字符串按照字符編碼轉為bytes。

3、bytes也可以通過str的構造指定字符編碼或者decode方法,將bytes轉為字符串。

驗證一下

PyDev console: starting.
Python 3.6.13 |Anaconda, Inc.| (default, Mar 16 2021, 11:37:27) [MSC v.1916 64 bit (AMD64)] on win32
runfile('D:/spyder/csdn/tool/byte_to_string.py', wdir='D:/spyder/csdn/tool')
b1 b'I love u , baby'
b'I love u , b'
b2 b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\xa4\xa9\xe6\xb0\x94\xe7\x9c\x9f\xe5\xa5\xbd/\xe5\x93\x88\xe5\x93\x88'
b3 b'\xe5\x85\x83\xe5\xae\x87\xe5\xae\x99\xe4\xbc\x9a\xe5\xaf\xbc\xe8\x87\xb4\xe4\xba\xba\xe7\xb1\xbb\xe6\x96\x87\xe6\x98\x8e\xe7\x9a\x84\xe5\x81\x9c\xe6\xbb\x9e\xe5\x90\x97\xef\xbc\x9f'
str2 元宇宙會導致人類文明的停滯嗎?
str3 元宇宙會導致人類文明的停滯嗎?

附:bytes和string區別

1.python bytes 也稱字節序列,并非字符。取值范圍 0 <= bytes <= 255,輸出的時候最前面會有字符b修飾;string 是python中字符串類型;

2.bytes主要是給在計算機看的,string主要是給人看的;

3.string經過編碼encode,轉化成二進制對象,給計算機識別;bytes經過解碼decode,轉化成string,讓我們看,但是注意反編碼的編碼規則是有范圍,\xc8就不是utf8識別的范圍;

if __name__ == "__main__":
# 字節對象b
b = b"shuopython.com"
# 字符串對象s
s = "shuopython.com"
print(b)
print(type(b))
print(s)
print(type(s))

輸出結果:

b'shuopython.com'
<class 'bytes'>
shuopython.com
<class 'str'>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中bytes字節串和string字符串之間如何轉換”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苏尼特右旗| 昌黎县| 南城县| 杭州市| 奉新县| 大庆市| 广丰县| 武鸣县| 唐河县| 深水埗区| 翁源县| 义马市| 四平市| 白城市| 同江市| 五台县| 澄迈县| 正蓝旗| 固阳县| 南陵县| 郴州市| 巴林右旗| 铜陵市| 紫金县| 小金县| 营口市| 越西县| 九江市| 永安市| 佛山市| 大余县| 锡林郭勒盟| 霍林郭勒市| 隆尧县| 广德县| 固始县| 修武县| 吉木乃县| 平利县| 南陵县| 纳雍县|