您的“關注”和“點贊”,是信任,是認可,是支持,是動力......
如意見相佐,可留言,
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新,

- 1 bytes 型別概述
- 2 文本序列(str)與位元組序列(bytes)的相互轉換
- 2.1 文本序列(str)與位元組序列(bytes)的相互轉換概述
- 2.2 將文本序列(str)轉換成位元組序列(bytes)
- 2.3 將位元組序列(bytes)轉換為文本序列(str)
- 【文章其它地址】
- 微信公眾號:碼農阿杰
- CSDN 博客
- 【參考資料】
- Python 官網
- Python 3.8.2 documentation
1 bytes 型別概述
Python bytes 型別是由單個位元組構成的不可變序列,
Python bytes 可以稱為二進制序列、或位元組序列,
bytes 只負責以位元組序列的形式(二進制序列的形式)來存盤資料,至于這些資料到底表示什么內容(例如:數字、字串、圖片、音頻等),完全由程式的決議方式決定,
bytes 非常適合在互聯網上傳輸,可以用于網路通信編程,
2 文本序列(str)與位元組序列(bytes)的相互轉換
2.1 文本序列(str)與位元組序列(bytes)的相互轉換概述
如果采用合適的字符編碼方式(指的是字符集),位元組序列(二進制序列)可以轉換成文本序列(字串);文本序列(字串)也可以轉換成位元組序列(二進制序列),
2.2 將文本序列(str)轉換成位元組序列(bytes)
有以下三種方法可以達到這個目的:
- 如果字串的內容都是
ASCII字符,那么直接在字串(文本序列)前面添加b前綴就可以轉換成bytes, bytes是一個類,呼叫它的構造方法bytes(),可以將字串(文本序列)按照指定的字符集轉換成bytes;如果不指定字符集,那么默認采用UTF-8,- 字串(文本序列)本身有一個
encode()方法,該方法專門用來將字串按照指定的字符集轉換成對應的位元組序列;如果不指定字符集,那么默認采用UTF-8,
舉例如下所示:
# 通過 b 前綴將文本序列轉換成位元組序列
bytes_demo1 = b'https://blog.csdn.net/manongajie'
print('通過 b 前綴將文本序列轉換成位元組序列 bytes_demo1 =', bytes_demo1)
# 通過構造方法 bytes() 將文本序列轉換成位元組序列
# 非 ASCII 字符,print() 輸出的是它的字符編碼值(十六進制形式)
bytes_demo2 = bytes('碼農阿杰', encoding='UTF-8') # 可以指定字符集,如果不指定,默認為 UTF-8,
print('通過構造方法 bytes() 將文本序列轉換成位元組序列 bytes_demo2 =', bytes_demo2)
# 通過 encode() 方法將文本序列轉換成位元組序列
str_demo = '碼農阿杰' # 非 ASCII 字符,print() 輸出的是它的字符編碼值(十六進制形式)
bytes_demo3 = str_demo.encode('UTF-8')
print('通過 encode() 方法將文本序列轉換成位元組序列 bytes_demo3 =', bytes_demo3)
運行結果:
通過 b 前綴將文本序列轉換成位元組序列 bytes_demo1 = b'https://blog.csdn.net/manongajie'
通過構造方法 bytes() 將文本序列轉換成位元組序列 bytes_demo2 = b'\xe7\xa0\x81\xe5\x86\x9c\xe9\x98\xbf\xe6\x9d\xb0'
通過 encode() 方法將文本序列轉換成位元組序列 bytes_demo3 = b'\xe7\xa0\x81\xe5\x86\x9c\xe9\x98\xbf\xe6\x9d\xb0'
2.3 將位元組序列(bytes)轉換為文本序列(str)
將位元組序列(bytes)轉換為文本序列(str),可以使用位元組序列提供的 decode()方法,
舉例如下所示:
# 通過 encode() 方法將文本序列轉換成位元組序列
str_demo = '碼農阿杰' # 非 ASCII 字符,print() 輸出的是它的字符編碼值(十六進制形式)
bytes_demo3 = str_demo.encode('UTF-8')
print('通過 encode() 方法將文本序列轉換成位元組序列 bytes_demo3 =', bytes_demo3)
# 通過 decode() 方法將位元組序列轉換成文本序列
str1 = bytes_demo3.decode('UTF-8')
print('通過 decode() 方法將位元組序列轉換成文本序列 str1 =', str1)
運行結果:
通過 encode() 方法將文本序列轉換成位元組序列 bytes_demo3 = b'\xe7\xa0\x81\xe5\x86\x9c\xe9\x98\xbf\xe6\x9d\xb0'
通過 decode() 方法將位元組序列轉換成文本序列 str1 = 碼農阿杰
【文章其它地址】
微信公眾號:碼農阿杰
CSDN 博客
【參考資料】
Python 官網
Python 3.8.2 documentation
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/144583.html
標籤:Python
上一篇:Python 文本序列型別(字串型別 str)[學習 Python 必備基礎知識][看此一篇就夠了][長字串][原始字串 r][字串常用方法]
下一篇:Python 二進制序列型別之二:bytearray [學習 Python 必備基礎知識][看此一篇就夠了][創建 bytearray 物件][bytearray() 構造器]
