python 杂记(二)
生活随笔
收集整理的這篇文章主要介紹了
python 杂记(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
字符串
- 字節字符串
- 借助chr()和ord進行轉化
- 借助struct 模塊進行復雜的轉化
- Unicode字符串
- 轉化為字節編碼
- 轉化為UTF-8編碼
字符串有兩種格式,一個是字節字符串,一個是Unicode字符串。
字節字符串
在字節字符串(在Python中由bytes對象表示)中,每個字符僅代表一個字節,因此很容易與文件或外界的其他接口進行交互。
標準字符串僅用一對單引號標識為文字(如example),而字節字符串要求在第一個單引號前包含b。
標準字符串
字節字符串·
print(b'12') >b'12'字節字符串中的字符只能是ACSII表中的字符。
輸出時會將b帶上。
借助chr()和ord進行轉化
,ord()函數,將返回與之等效的數字 ,只能是單個字符
>>>ord(b'A') >65] #也可以迭代字節序列 >>>list(b'Example') >[69,120,97,109,112,108,101],chr()會根據轉入的整數值返回單個字符,返回的只是常規的字符串。
>>>chr(65) >A #迭代轉化 >>>[chr(o) for o in [69,120,97,109,112,108,101]] ['E','x','a','m','p','l','e']借助struct 模塊進行復雜的轉化
import struct >>>struct.pack(b'B',65) b'A'B指定了一個無符號的數值,因此不能是負數。范圍0~255
import struct >>>struct.pack(b'b',65) b'A'b指定一個有符號的字節,范圍-128~127。
雙字節
import struct >>>struct.pack(b'Hh',65,65) b'A\x00A\x00'指定字節順序
大端序:b'>H'
小端序:b'<H'
默認小端序
一次性打包和解包多個值
import struct first_name = 'MARY' last_name = 'Alsh' age = 28data = struct.pack(b'10s10sB',bytes(first_name,'utf8'),bytes(last_name,'utf8'),age) print(data),s格式化代碼結合數字前綴,可以表示讀取或寫入的字符串大小
Unicode字符串
轉化為字節編碼
編碼過程本身是使用字符串的encode()方法進行管理的。只需要傳入編碼的
名稱, encode()方法就會返回一個字節字符串,以表示給定編碼中的文本。(當然這些字符都應該是ASCII表中的。
轉化為UTF-8編碼
總結
以上是生活随笔為你收集整理的python 杂记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划/贪心总结(一)
- 下一篇: 爬虫笔记(一)