日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python bytes转换为string_Python3 中 bytes 和 string 之间的互相转换

發(fā)布時間:2024/9/27 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python bytes转换为string_Python3 中 bytes 和 string 之间的互相转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Table of Contents

Python3 最重要的新特性大概要算是對文本(text)和二進制數據(binary data)作了更為清晰的區(qū)分。文本總是 Unicode,由 str 類型表示。

二進制數據則由 bytes 類型表示。

那么什么是 bytes、什么是 Unicode 呢?首先計算機能存儲的唯一東西就是 bytes。所以為了在計算機中存儲東西,我們首先得將其編碼(encode),例如將其轉化為 bytes。比如:要想保存音樂,我們首先得用 MP3, WAV 等將其編碼

要想保存圖片,我們首先得用 PNG, JPEG 等將其編碼

要想保存文本,我們首先得用 ASCII, UTF-8 等將其編碼

Unicode 是字符集,不是字符編碼。Unicode 把全世界的字符都搜集并且編號了,但是沒有規(guī)定具體的編碼規(guī)則。編碼規(guī)則有 UTF-8、GBK 之類的。

Python3 不會以任意隱式的方式混用 str 和 bytes。正是這使得兩者的區(qū)分特別清晰,你不能拼接字符串和字節(jié)包,也無法在字節(jié)包里搜索字符串(反之亦然),也不能將字符串傳入參數為字節(jié)包的函數(反之亦然)。

創(chuàng)建 bytes 型數據

使用 Python3 的內置函數 bytes 函數。

class bytes([source[, encoding[, errors]]])

>>> bytes([1,2,3,4,5,6,7,8,9])

b'x01x02x03x04x05x06x07x08t'

>>> bytes("python", 'ascii') # 字符串,編碼b'python'

創(chuàng)建字符串

>>> website = 'http://www.jb51.net/'

>>> type(website)

>>> website'http://www.jb51.net/'

相互轉換

如果你仔細看給的 SO 鏈接那個有 bounties 的回答的話,就應該知道將 string 轉化成 bytes 首先需要進行編碼(encode),而 encode 是可以使用許多不同的 encodings 的

string to bytes

按 utf-8 的方式編碼,轉成 bytes

>>> website_bytes_utf8 = website.encode(encoding="utf-8")

>>> type(website_bytes_utf8)

>>> website_bytes_utf8b'http://www.jb51.net/'

按 gb2312 的方式編碼,轉成 bytes

>>> website_bytes_gb2312 = website.encode(encoding="gb2312")

>>> type(website_bytes_gb2312)

>>> website_bytes_gb2312b'http://www.jb51.net/'

bytes to string

解碼成 string,默認不填

>>> website_string = website_bytes_utf8.decode()

>>> type(website_string)

>>> website_string'http://www.jb51.net/'

解碼成 string,使用 gb2312 的方式

>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312")

>>> type(website_string_gb2312)

>>> website_string_gb2312'http://www.jb51.net/'

參考資料

Python3 中 bytes 和 string 之間的互相轉換(原來的文章是轉這個的,但是一年后的我看這篇文章覺得是真的水的不能再水,連個外鏈都沒,不知道當時為啥轉那篇文章,因此本文又重新改了下)

總結

以上是生活随笔為你收集整理的python bytes转换为string_Python3 中 bytes 和 string 之间的互相转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。