python3中bytes和string之間的互相轉(zhuǎn)換
前言
Python 3最重要的新特性大概要算是對(duì)文本和二進(jìn)制數(shù)據(jù)作了更為清晰的區(qū)分。文本總是Unicode,由str類型表示,二進(jìn)制數(shù)據(jù)則由bytes類型表示。Python 3不會(huì)以任意隱式的方式混用str和bytes,正是這使得兩者的區(qū)分特別清晰。你不能拼接字符串和字節(jié)包,也無(wú)法在字節(jié)包里搜索字符串(反之亦然),也不能將字符串傳入?yún)?shù)為字節(jié)包的函數(shù)(反之亦然).
python3.0中怎么創(chuàng)建bytes型數(shù)據(jù)
bytes([1,2,3,4,5,6,7,8,9]) bytes("python", 'ascii') # 字符串,編碼
首先來(lái)設(shè)置一個(gè)原始的字符串,
Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> website = 'http://www.dbjr.com.cn/' >>> type(website) <class 'str'> >>> website 'http://www.dbjr.com.cn/' >>>
按utf-8的方式編碼,轉(zhuǎn)成bytes
>>> website_bytes_utf8 = website.encode(encoding="utf-8") >>> type(website_bytes_utf8) <class 'bytes'> >>> website_bytes_utf8 b'http://www.dbjr.com.cn/' >>>
按gb2312的方式編碼,轉(zhuǎn)成bytes
>>> website_bytes_gb2312 = website.encode(encoding="gb2312") >>> type(website_bytes_gb2312) <class 'bytes'> >>> website_bytes_gb2312 b'http://www.dbjr.com.cn/' >>>
解碼成string,默認(rèn)不填
>>> website_string = website_bytes_utf8.decode() >>> type(website_string) <class 'str'> >>> website_string 'http://www.dbjr.com.cn/' >>> >>>
解碼成string,使用gb2312的方式
>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312") >>> type(website_string_gb2312) <class 'str'> >>> website_string_gb2312 'http://www.dbjr.com.cn/' >>>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Python3中bytes類型轉(zhuǎn)換為str類型
- Python每天必學(xué)之bytes字節(jié)
- Python 字節(jié)流,字符串,十六進(jìn)制相互轉(zhuǎn)換實(shí)例(binascii,bytes)
- Python3編碼問題 Unicode utf-8 bytes互轉(zhuǎn)方法
- Python中bytes字節(jié)串和string字符串之間的轉(zhuǎn)換方法
- 對(duì)Python3中bytes和HexStr之間的轉(zhuǎn)換詳解
- Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解
- Python中的bytes類型用法及實(shí)例分享
- 對(duì)python的bytes類型數(shù)據(jù)split分割切片方法
- Python?Bytes壓縮新手速成
相關(guān)文章
關(guān)于如何把Python對(duì)象存儲(chǔ)為文件的方法詳解
本文將給大家介紹如何把Python對(duì)象存儲(chǔ)為文件的方法,pickle可以用二進(jìn)制表示并讀寫python數(shù)據(jù),這個(gè)功能并不安全,如果把一個(gè)pickle暴露給別人,有被植入惡意程序的風(fēng)險(xiǎn),文中通過(guò)代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2024-01-01Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過(guò)程分析(顯卡MX250+CUDA9.
這篇文章主要介紹了Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過(guò)程(顯卡MX250+CUDA9.0+cudnn),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02django框架面向?qū)ο驩RM模型繼承用法實(shí)例分析
這篇文章主要介紹了django框架面向?qū)ο驩RM模型繼承用法,結(jié)合實(shí)例形式分析了Django框架ORM模型抽象類繼承、多表繼承及代理模型繼承三種繼承方式實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07Python實(shí)現(xiàn)的可可愛愛的小粽子詳解
我突發(fā)奇想做一個(gè)關(guān)于粽子的小游戲,基本原理:操控粽子吃掉愛心,即可增加分?jǐn)?shù),經(jīng)過(guò)朋友game多測(cè)嘗試最終完成小游戲2022-06-06jupyter notebook 調(diào)用環(huán)境中的Keras或者pytorch教程
這篇文章主要介紹了jupyter notebook 調(diào)用環(huán)境中的Keras或者pytorch教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04PyQt5 QTableView設(shè)置某一列不可編輯的方法
今天小編就為大家分享一篇PyQt5 QTableView設(shè)置某一列不可編輯的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python監(jiān)控日志中的報(bào)錯(cuò)并進(jìn)行郵件報(bào)警
這篇文章主要為大家介紹了python監(jiān)控日志中的報(bào)錯(cuò)并進(jìn)行郵件報(bào)警的實(shí)現(xiàn)實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06使用Python實(shí)現(xiàn)批量ping操作方法
這篇文章主要介紹了使用Python實(shí)現(xiàn)批量ping操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Python?sklearn?中的?make_blobs()?函數(shù)示例詳解
make_blobs()?是?sklearn.datasets中的一個(gè)函數(shù),這篇文章主要介紹了Python?sklearn?中的?make_blobs()?函數(shù),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Python 繪圖庫(kù) Matplotlib 入門教程
Matplotlib是一個(gè)Python語(yǔ)言的2D繪圖庫(kù),它支持各種平臺(tái),并且功能強(qiáng)大,能夠輕易繪制出各種專業(yè)的圖像。本文是對(duì)Python 繪圖庫(kù) Matplotlib 入門教程,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-04-04