日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python3?字符串str和bytes相互轉換_python

作者:Newjet666 ? 更新時間: 2022-05-25 編程語言

1.相關基礎

python3中有兩種字符串類型:strbytes

python編碼問題可以參考文章

strunicode編碼格式保存在內存

所以使用時,不用管前面要不要加u

(python2中需要考慮,不加u的話,在一些場合會報錯)

#!/usr/bin/python3
str0="i am fine thank you"
?
print(type(str0))
print(str0)
?
str0=u"i am fine thank you"
?
print(type(str0))
print(str0)
?
# 
# i am fine thank you
# 
# i am fine thank you

定義byte類型時,在字符串前加b

#!/usr/bin/python3
str0=b"i am fine thank you"
?
print(type(str0))
print(str0)
?
# 
# b'i am fine thank you'

2.str和bytes相互轉換

在文件傳輸過程中,通常使用bytes格式的數據流,而代碼中通常用str類型,因此strbytes的相互轉換就尤為重要。

2.1 bytes->str

#!/usr/bin/python3
?
bytes_data = b'this is a message'
print(type(bytes_data))
print(bytes_data)
?
# 方法一:
str_data = str(bytes_data, encoding='utf-8')
print(type(str_data))
print(str_data)
?
# 方法二:
str_data = bytes_data.decode('utf-8')
print(type(str_data))
print(str_data)
?
# 
# b'this is a message'
# 
# this is a message
# 
# this is a message

2.2 str->bytes

#!/usr/bin/python3
?
str_data = 'this is a message'
print(type(str_data))
print(str_data)
# 方法一:
bytes_data = bytes(str_data, encoding='utf-8')
print(type(bytes_data))
print(bytes_data)
# 方法二:
bytes_data = str_data.encode('utf-8')
print(type(bytes_data))
print(bytes_data)
?
# 
# this is a message
# 
# b'this is a message'
# 
# b'this is a message'

原文鏈接:https://blog.csdn.net/kids_budong_c/article/details/123672994?

欄目分類
最近更新