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

Python中字符串與編碼示例代碼

 更新時(shí)間:2019年05月20日 14:45:44   作者:立業(yè)的博客  
這篇文章主要介紹了Python中字符串與編碼示例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在最新的Python 3版本中,字符串是以Unicode編碼的,即Python的字符串支持多語(yǔ)言

編碼和解碼

   字符串在內(nèi)存中以Unicode表示,在操作字符串時(shí),經(jīng)常需要str和bytes互相轉(zhuǎn)換
   如果在網(wǎng)絡(luò)上傳輸或保存到磁盤上,則從內(nèi)存讀到的數(shù)據(jù)就是str,要把str變?yōu)橐宰止?jié)為單位的bytes,稱為編碼
   如果從網(wǎng)絡(luò)或磁盤上讀取字節(jié)流,則從網(wǎng)絡(luò)或磁盤上讀到的數(shù)據(jù)就是bytes,要把bytes變?yōu)閟tr,稱為解碼
   為避免亂碼問(wèn)題,應(yīng)當(dāng)始終堅(jiān)持使用UTF-8編碼對(duì)str和bytes進(jìn)行轉(zhuǎn)換

使用示例:

單個(gè)字符的編碼

print(ord('A')) #輸出:65,獲取字符的整數(shù)表示
print(chr(66)) #輸出:B,把編碼轉(zhuǎn)換為對(duì)應(yīng)的字符

十六進(jìn)制表示

print('中文') #輸出:'中文',
print('\u4e2d\u6587') #輸出:'中文','\u4e2d\u6587'和'中文'完全對(duì)等,如果知道字符的整數(shù)編碼,還可以用十六進(jìn)制這么寫str

bytes類型的數(shù)據(jù)表示

x = b'ABC' #Python對(duì)bytes類型的數(shù)據(jù)用帶b前綴的單引號(hào)或雙引號(hào)表示,'ABC'和b'ABC'在顯示上完全一樣,但bytes的每個(gè)字符都只占用一個(gè)字節(jié)

編碼

print('ABC'.encode('ascii')) #輸出:b'ABC',以Unicode表示的str通過(guò)encode()方法可以編碼為指定的bytes
print( '中文'.encode('utf-8')) #輸出:b'\xe4\xb8\xad\xe6\x96\x87',
print( '中文'.encode('ascii')) #輸出:報(bào)錯(cuò),因?yàn)橹形淖址赼scii編碼范圍外,所以導(dǎo)致編碼失敗

解碼

print(b'ABC'.decode('ascii')) #輸出:'ABC'
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('ascii')) #輸出:'中文'
print(b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')) #輸出:'中',如果bytes中只有一小部分無(wú)效的字節(jié),可以傳入errors='ignore'忽略錯(cuò)誤的字節(jié)

計(jì)算長(zhǎng)度

#len(a)函數(shù)返回a的長(zhǎng)度,如果a是字符串則返回字符數(shù),如果a是字節(jié)表示則返回字節(jié)數(shù)
print(len('中文')) #輸出:2,共2個(gè)字符
print(len('ABC')) #輸出:3,共3個(gè)字符
print(len(b'ABC')) #輸出:3,共是3個(gè)字節(jié)
print(len(b'\xe4\xb8\xad\xe6\x96\x87')) #輸出:6,共是6個(gè)字節(jié)
print(len('中文'.encode('utf-8'))) #輸出:6, 1個(gè)中文字符經(jīng)過(guò)UTF-8編碼后通常會(huì)占用3個(gè)字節(jié),因此兩個(gè)漢字的字節(jié)數(shù)是6

源碼文件開(kāi)頭與編碼

#!/usr/bin/env python3    告訴Linux/OS X系統(tǒng),這是一個(gè)Python可執(zhí)行程序,Windows系統(tǒng)會(huì)忽略這個(gè)注釋
# -*- coding: utf-8 -*-   告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則在源代碼中寫的中文輸出可能會(huì)有亂碼

#注意:告訴編譯器使用UTF-8編碼并不意味著.py文件就是UTF-8編碼的,必須并且要確保.py文件用UTF-8 without BOM編碼保存,才可確保文件中的中文正常顯示

總結(jié)

以上所述是小編給大家介紹的Python中字符串與編碼示例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

最新評(píng)論

凭祥市| 集贤县| 波密县| 武宁县| 尼勒克县| 涪陵区| 富源县| 额敏县| 读书| 左权县| 海林市| 东丰县| 东辽县| 太湖县| 柯坪县| 北票市| 镶黄旗| 尚义县| 普陀区| 南涧| 鄂尔多斯市| 措美县| 南岸区| 龙州县| 庐江县| 岢岚县| 美姑县| 双桥区| 垣曲县| 射洪县| 抚顺县| 大方县| 蒙城县| 子洲县| 应城市| 遵化市| 阳江市| 沛县| 安宁市| 唐海县| 尤溪县|