最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編碼解碼之encode()函數(shù)詳解

 更新時間:2023年07月26日 09:50:05   作者:士別三日wyx  
這篇文章主要給大家介紹了關(guān)于Python編碼解碼之encode()函數(shù)的相關(guān)資料,Python的encode函數(shù)用于將字符串按照指定的編碼方式進(jìn)行編碼,返回一個bytes類型的對象,需要的朋友可以參考下

encode

encode() 可以對字符串進(jìn)行「編碼」,常用來對「中文」字符串進(jìn)行編碼,以解決「亂碼」問題。

語法

string.encode( encoding, errors )

參數(shù)

  • encodeing :(可選)指定編碼,默認(rèn) UTF-8
  • errors :(可選)設(shè)置錯誤處理方式,默認(rèn)

返回值

  • 返回編碼后的「新字符串」

實例:對字符串進(jìn)行GBK編碼

str1 = 'hello'
print(str1.encode('gbk'))

輸出:

b'hello'

1、常見編碼格式

  • ASCLL:美國早期制定的編碼規(guī)范,只能表示128個字符。
  • GB2312:中國在ASCLL基礎(chǔ)上對中文進(jìn)行擴展,可以表示6763個漢字符號。
  • GBK:對GB2312的進(jìn)一步擴展(K指擴),收錄了21886個漢字符號。
  • GB18030:對GBK再一次擴充,收錄了70244個漢字符號。
  • Unicode:字符集,包含了世界上目前所有的符號,全球的所有文字都可以解析,字符是定長的,統(tǒng)一為16位
  • UTF-8:使用最廣的一種Unicode的實現(xiàn)方式,每次8個位傳輸數(shù)據(jù);體積太大,國內(nèi)通常使用GBK。
  • UTF-16:Unicode的另一種實現(xiàn)方式,每次傳輸16位數(shù)據(jù)

各個編碼實例:

print('hello'.encode('gb2312'))
print('hello'.encode('gbk'))
print('hello'.encode('gb18030'))
print('hello'.encode('utf8'))
print('hello'.encode('utf16'))

輸出:

b'hello'
b'hello'
b'hello'
b'hello'
b'\xff\xfeh\x00e\x00l\x00l\x00o\x00'

仔細(xì)觀察返回結(jié)果就會發(fā)現(xiàn),字符串前面都加了個b,接下來我們了解一下這是什么含義。

2、返回的是Bytes類型

encode() 編碼后會返回一個「Bytes類型」的結(jié)果,而不是「str類型」

str1 = 'hello'
print(type(str1))
print(type(str1.encode()))

輸出:

<class 'str'>
<class 'bytes'>

bytes 和 str 都屬于字符串類型:

  • str 以Unicode code points形式存儲(人認(rèn)識的形式)
  • bytes 以byte形式存儲(機器認(rèn)識的形式)

bytes 是一個「二進(jìn)制」序列對象,定義時在字符串前面加上b(英文可以,中文需要先encode)

str1 = b'hello'
print(type(str1))

輸出:

<class 'bytes'>

3、錯誤處理方式

encode() 在編碼時,經(jīng)常會遇到「無法編碼」的字符,這時就可以用 errors 設(shè)置適當(dāng)?shù)奶幚矸绞剑?/p>

  • strict:失敗時引發(fā)錯誤
  • ignore:忽略無法編碼的字符
  • backslashreplace:用反斜杠替換無法編碼的字符
  • namereplace:用解釋字符的文本替換無法編碼的字符
  • replace:用問號替換無法編碼的字符
  • xmlcharrefreplace:用xml字符替換字符

如果給「兩個參數(shù)」,可以自動按順序復(fù)制給參數(shù);如果只給「一個參數(shù)」,需要用參數(shù)名指定。

print('hello'.encode('gbk', 'strict'))
print('hello'.encode(errors='ignore'))
print('hello'.encode(errors='backslashreplace'))
print('hello'.encode(errors='namereplace'))
print('hello'.encode(errors='replace'))
print('hello'.encode(errors='xmlcharrefreplace'))

4、解碼

decode() 會將「bytes類型」轉(zhuǎn)成「str類型」,這意味著它只能解碼bytes類型的字符串,解碼str類型的字符串會報錯 AttributeError: ‘str’ object has no attribute ‘decode’

bytes類型格式是 b'xxx',如果只有str形式的字符串(比如 '\xe5\xbc\xa0\xe4\xb8\x89'),可以在前面加上b,變成bytes類型,再進(jìn)行解碼

print(b'\xe5\xbc\xa0\xe4\xb8\x89'.decode())

輸出:

張三

總結(jié)

到此這篇關(guān)于Python編碼解碼之encode()函數(shù)的文章就介紹到這了,更多相關(guān)Python encode()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python一次為多個變量賦值的簡便方法

    Python一次為多個變量賦值的簡便方法

    在Python的世界里,簡潔與優(yōu)雅是永恒的追求,當(dāng)面對需要同時處理多個變量的場景時,如何避免冗長的代碼和臨時變量的困擾?答案就藏在Python強大的多重賦值機制中,本文將系統(tǒng)性地探討Python中為多個變量賦值的多種方法,需要的朋友可以參考下
    2026-03-03
  • Python重試庫?Tenacity詳解(推薦)

    Python重試庫?Tenacity詳解(推薦)

    這篇文章主要介紹了Python重試庫Tenacity詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • python opencv 讀取圖片 返回圖片某像素點的b,g,r值的實現(xiàn)方法

    python opencv 讀取圖片 返回圖片某像素點的b,g,r值的實現(xiàn)方法

    今天小編就為大家分享一篇python opencv 讀取圖片 返回圖片某像素點的b,g,r值的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Django如何將URL映射到視圖

    Django如何將URL映射到視圖

    這篇文章主要介紹了Django如何將URL映射到視圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python基礎(chǔ)教程之元組的定義與不可變特性(對比列表)

    Python基礎(chǔ)教程之元組的定義與不可變特性(對比列表)

    元組的魅力在于它的簡單性和明確性,它不追求成為全能數(shù)據(jù)結(jié)構(gòu),而是專注于做好一件事,就是提供不可變的有序集合,這篇文章主要介紹了Python基礎(chǔ)教程之元組的定義與不可變特性(對比列表)的相關(guān)資料,需要的朋友可以參考下
    2026-05-05
  • 如何將yolov5中的PANet層改為BiFPN詳析

    如何將yolov5中的PANet層改為BiFPN詳析

    現(xiàn)在yolov5的neck用的是PANet,在efficient論文中提出了BiFPN結(jié)構(gòu),還有更加不錯的性能,下面這篇文章主要給大家介紹了關(guān)于如何將yolov5中的PANet層改為BiFPN的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • python 在指定范圍內(nèi)隨機生成不重復(fù)的n個數(shù)實例

    python 在指定范圍內(nèi)隨機生成不重復(fù)的n個數(shù)實例

    今天小編就為大家分享一篇python 在指定范圍內(nèi)隨機生成不重復(fù)的n個數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python調(diào)用函數(shù)、類和文件操作簡單實例總結(jié)

    python調(diào)用函數(shù)、類和文件操作簡單實例總結(jié)

    這篇文章主要介紹了python調(diào)用函數(shù)、類和文件操作,結(jié)合簡單實例形式總結(jié)分析了Python調(diào)用函數(shù)、類和文件操作的各種常見操作技巧,需要的朋友可以參考下
    2019-11-11
  • Python小程序爬取今日新聞拿走就能用

    Python小程序爬取今日新聞拿走就能用

    這篇文章主要教大家怎樣實現(xiàn)一個Python小程序,爬取今日新聞,文中給出了詳細(xì)的示例代碼,拿走就能用,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Python?字典(Dictionary)詳細(xì)介紹

    Python?字典(Dictionary)詳細(xì)介紹

    這篇文章主要介紹了Python?字典(Dictionary)詳細(xì),字典是另一種可變?nèi)萜髂P?,且可存儲任意類型對象。下面和小編一起進(jìn)入文章學(xué)習(xí)新內(nèi)容吧,需要的朋友可以參考一下
    2022-02-02

最新評論

郓城县| 南投市| 东乡| 古浪县| 丽水市| 黑水县| SHOW| 鹤峰县| 元江| 静宁县| 保德县| 同江市| 沭阳县| 建始县| 铁岭市| 兴安县| 江阴市| 房山区| 乌兰县| 尚志市| 镇巴县| 武城县| 赣州市| 安新县| 饶阳县| 陕西省| 峡江县| 阿鲁科尔沁旗| 克拉玛依市| 海南省| 永泰县| 土默特左旗| 岳普湖县| 武夷山市| 东乌| 衡阳市| 新源县| 秀山| 册亨县| 昌江| 青神县|