python3大作戰之encode與decode講解- 程式人生
文章推薦指數: 80 %
因為開頭跟大家講過,python3預設就是unicode,utf-8可以看成是unicode的一個擴充套件集,所以其實name本身是一個unicode編碼的,所以可以通過encode ...
程式人生>>python3大作戰之encode與decode講解
python3大作戰之encode與decode講解
阿新••發佈:2019-01-06
大家好,很久沒更新了,也是年底了最近比較忙,同時也在研究python的其他內容,畢竟是python小白,自學道路艱難。
好了今天和大家一起探討下python3編碼過程中對的一些轉碼事宜。
python3中對文字和二進位制做了比較清晰的區分。
python3預設編碼為unicode,由str型別進行表示。
二進位制資料使用byte型別表示,所以不會將str和byte混在一起。
在實際應用中我們經常需要將兩者進行互轉
有幾點需要注意:
1:字串通過編碼轉換為位元組碼,位元組碼通過解碼轉換為字串
str--->(encode)--->bytes,bytes--->(decode)--->str
importsys
print('目前系統的編碼為:',sys.getdefaultencoding())
name='小明'
print(type(name))#首先我們來列印下轉碼前的name型別,因為它是str,所以可以通過encode來進行編碼
name1=name.encode('utf-8')
print(name1)輸出為:
目前系統的編碼為:utf-8
既然已經encode成utf-8了,那我們來看下decode會出現什麼樣的結果
name2=name1.decode('utf-8')
print(type(name2))
print(name2)
這裡要跟大家說下,decode()括號中為什麼寫utf-8,而不寫gbk,可以這樣理解,因為要解碼,你總得告訴它我是什麼編碼的吧,比如我原先是utf-8格式的編碼,現在要解碼,但是如果冒充utf-8,說自己是gbk,那就會出現亂碼,見下:
2:utf-8編碼格式和gbk編碼格式互轉
既然知道utf-8編碼與解碼的規律,那我們來試試它與gbk之間的火花。
name1=name.encode('utf-8')
name2=name1.decode('utf-8')
name3=name2.encode('gbk')
name4=name3.decode('gbk')
print(type(name3))
print(name3)
下面是name3的結果
好了...
Python中的encode與decode,詳解字串與位元組物件之間的轉換
1.相關異常我們在處理交換的資料時經常遇到這樣的異常:TypeError:can'tuseastringpatter...
python開發之virtualenv與virtualenvwrapper講解
在使用 Python 開發的過程中,工程一多,難免會碰到不同的工程依賴不同版本的庫的問題;
亦或者是在開發過程中不想讓物理環境裡充斥各種各...
python開發之virtualenv與virtualenvwrapper講解python開發之virtualenv與virtualenvwrapper講解
python開發之virtualenv與virtualenvwrapper講解
...
Mybatis入門之resultMap與resultType講解例項
resultMap:適合使用返回值是自定義實體類的情況
resultType:適合使用返回值得資料型別是非自定義的,即j...
Expo大作戰(二十六)--exposdkapi之Video和WebBrowser
astdownload公眾根據pen正在但我AIvolume
簡要:本系列文章講會對expo進...
Expo大作戰(二十七)--exposdkapi之Util(expo自帶工具類),tackSnapshotAsync,Svg,SQLite
helpcount開發段落mdaandmpatstr語句
簡要:本系列文章講會對expo進行全面的介...
Expo大作戰(二十九)--exposdkapi之registerRootComponent(註冊跟組件),ScreenOrientation(屏幕切換),SecureStore,
修改使用passconGoripsharedpackageapi
簡要:本系列文章講會對expo進行...
Expo大作戰(三十一)--exposdkapi之Payments(expo中的支付),翻譯這篇文章傻逼了,完全不符合國內用戶,我只負責翻譯大家可以略過!
span依賴require查看例如rdfNidtailonly
簡要:本系列文章講會對expo進行全...
Expo大作戰(三十三)--exposdkapi之MapView(地圖),MailComposer(磁力傳感計),Lottie(動畫)
填充標記androidcommitanimsubjectconf項目cancel
簡要:本系列文章講...
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
最近訪問
python3大作戰之encode與decode講解
python併發程式設計之執行緒剩餘內容(執行緒佇列,執行緒池)及協程
JS-prototype
connected+standby
Lua中的條件判斷
$.view()的使用和使用find()取datatable的一行的行序號的差別
jvm裡面年輕代,老年代,永久代,元空間
如何檢查線程是否死鎖了?
Android+修改EditText的游標顏色和背景色
HTML5之拖放功能(多檔案上傳和元素拖放)
延伸文章資訊
- 1Python 3 Tutorial 第二堂(1)Unicode 支援、基本I/O
filename = input('檔名:') file = open(filename, 'r', encoding='UTF-8') content = file.read() file.c...
- 2python3的decode里面处理错误无法解析的字节 - CSDN博客
s.decode("utf-8", "replace") 替换其中异常的编码,这个相对来可能一眼就知道那些字符编码出问题了。 这个可以有效处理错误. by_side_with_sun. 关注 ...
- 3python3大作戰之encode與decode講解- 程式人生
因為開頭跟大家講過,python3預設就是unicode,utf-8可以看成是unicode的一個擴充套件集,所以其實name本身是一個unicode編碼的,所以可以通過encode ...
- 4Python3 decode()方法_w3cschool - 编程狮
Python3 decode()方法Python3 字符串描述decode() 方法以指定的编码格式解码 ... 语法decode()方法语法: str.decode(encoding=UTF-...
- 5Unicode HOWTO — Python 3.10.7 documentation
A string of ASCII text is also valid UTF-8 text. UTF-8 is fairly compact; the majority of commonl...