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

歡迎訪問 生活随笔!

生活随笔

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

python

Python字符串的编码与解码(encode与decode)

發布時間:2023/12/2 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python字符串的编码与解码(encode与decode) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


首先要搞清楚,字符串在Python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字符串轉換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字符串轉換成unicode編碼。

encode的作用是將unicode編碼轉換成其他編碼的字符串,如str2.encode('gb2312'),表示將unicode編碼的字符串轉換成gb2312編碼。

在某些IDE中,字符串的輸出總是出現亂碼,甚至錯誤,其實是由于IDE的結果輸出控制臺自身不能顯示字符串的編碼,而不是程序本身的問題。

例如:ljq.py,編碼為utf8,包含內容如下:

#-*-coding:utf-8-*- s='中文' print type(s) #查看s的字符類型 print s s.decode('utf8') #解碼utf8,默認的編碼方式是unicode s.decode('gbk', "ignore") #解碼utf8,忽略其中有異常的編碼,僅顯示有效的編碼 s.decode('gbk', 'replace') print type(s) print ss.encode('gb2312') ##編碼為utf8 print type(s) print s

ljq.py編碼必需與s.decode('utf8')指定的編碼一致,不然會拋出解碼異常信息,可以通過s.decode("gbk", "ignore")或s.decode("gbk", "replace")來解決。

另外對于一些包含特殊字符的編碼,直接解碼可能會報錯,可以使用對于的參數來設置。如:
s.decode("utf-8", "ignore") 忽略其中有異常的編碼,僅顯示有效的編碼
s.decode("utf-8", "replace") 替換其中異常的編碼,這個相對來可能一眼就知道那些字符編碼出問題了。

從unicode轉str,被看做是把一個信息文本編碼為二進制字節流的過程,要用encode方法

總結

以上是生活随笔為你收集整理的Python字符串的编码与解码(encode与decode)的全部內容,希望文章能夠幫你解決所遇到的問題。

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