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

歡迎訪問 生活随笔!

生活随笔

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

python

29 Python - 字符与编码

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

字符與編碼

01 字符串本質

?

?

Python字符串相關概念

字符串 ????str

字節 ??????bytes

字節數組 ??bytearray

?

電腦字符串存儲機制

字符庫:A、B每個字符有一個代碼點如A是65? B為66,這種是方便人類讀寫的形式,但是最終需要存入計算機的CPU和內存,需要轉換成字節的二進制,就涉及到字節的編碼。

字節的編碼:如A的字節編碼為b開頭的b‘A’,對應的二進制為0100 0001(激素65的二進制編碼)

因為ASCII編碼比較簡單,直接把代碼點當成二進制編碼來存儲

將字符轉換為字節的過程我們稱為編碼,反之稱為解碼;如我們最常見的ASCII編碼就是負責編碼和解碼的工作

但是后來各個國家都有字節的字符集,就出現了很多字符集合字符編碼。

不同編碼并存的解決辦法,就是unicode,但是這個長度固定,有點浪費空間。現在比較流行的就是utf8是可變字節即可變長的編碼

?

?

?

?

02 ASCII UTF8編碼

?

?

ASCII:用于常見英文字符,存在一個Byte中,0-127(即代碼點)

Python插件ASCII代碼點和字符互查的函數

?

?

?

UTF-8最通用

?

?

?

?

?

03 字節與文本的編碼 解碼

?

?

字符編碼為字節

例子:

s1位字符,

使用encode(‘指定編碼’)編碼為字節,

其中b開頭意思為字節

中文用ASCII無法編碼,需要用UTF8進行編碼

?

?

?

字節解碼為字符

例子

B1位字節碼

?????? 利用decode(‘指定編碼’)進行解碼

?

?

?

?

Python的編碼和解碼不指定的話,默認為UTF8

?

?

Python的文件操作如果不指定編碼,默認以GBK操作(以操作系統編碼為準),所以文本操作建議指定編碼

?

?

04 bytes str bytesarray之間互相轉換

在內存表現的永遠是字符串,存儲或運算過程中總以字節形式存在

?

?

?

001字符到字節

(1)利用字符的方法encode

?

?

(2)文本形式以二進制進行讀取

?

?

(3)利用字節的bytes方法——字節大小不能超過256

?

?

?

?

?

002 字節到字符

?

?

?

?

?

003 字節數組bytearray

形式

?

?

(1)字符s1存入字節數組中,利用bytearray(字符串,編碼)

?

?

(2)字節數組可以通過下標取值 ?可以改變值

?

?

(3)支持很多列表的很多方法

?

?

Append的值大小不能超過256

?

?

?

(4)字節數組轉換為字符

?

?

?

?

05 字符串BOM處理

BOM字節順序標記

?

?

?

有一個文件data.txt

?

?

打開讀取內容,想忽略字節順序標記

?

?

?

?

字節寫入文件,寫入字節順序標記

?

?

?

轉載于:https://www.cnblogs.com/yijiexi/p/11140657.html

總結

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

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