Python檔案袋(字符串與二進制的編碼與解碼)


字符串

字符串支持像列表似得用下標進行取值操作,和進行切片

字符串格式化:

#內容相當於字符串,也可以用雙引號包裹
str='''

111
2222
33333
---------東小東-------

'''
print(str)

字符串拼接:

方法1:

每次拼接時會重新開辟內存空間,效率較低

print(""+""+"東小東")  #輸出:我是東小東

方法2:

%s為字符串,%d為整數,%f為浮點數等等

print("我是%s%s"%("東小東","-加油"))  #輸出:我是東小東-加油

方法3:

如果使用format_map,傳遞的值為字典

print("我是{namex}{textx}".format(namex="東小東",textx="-加油"))  #輸出:我是東小東-加油

方法4:

print("我是{0}{1}".format("東小東","-加油"))  #輸出:我是東小東-加油

相關函數:

 1 #字符串
 2 strx="abadefg1"
 3 
 4 print(strx.capitalize()) #首字母大寫
 5 print("Dong xiAo".swapcase()) #大小寫對應轉換,輸出:dONG XIaO
 6 print(len(strx)) #字符串長度為8
 7 print(strx.count("a")) #統計字符串a的個數
 8 
 9 print(strx.center(50,"*")) #一共打印50個字符,將strx放在中間,其他使用*號補全
10 print(strx.ljust(50,"*")) #一共打印50個字符,將strx放在左邊,其他使用*號補全,對應有 rjust()
11 
12 print(strx.endswith("fg")) #字符串是否與"fg"結尾,返回bool
13 
14 print(strx.find("=2=")) #查找字符串所在位置,失敗返回-1,成功返回索引值
15 
16 print("rfid id id".rfind("i")) #從左到右,查找到最右邊一個的下標,輸出:8
17 
18 
19 print(strx.isalnum()) #是否是只有數字和字母組成,返回bool
20 
21 print(strx.isalpha()) #是否只有字母,返回bool
22 
23 print("10".isdigit()) #是否是整數,返回bool   ,輸出:True
24 
25 print("+jj".isidentifier()) #是否是合法變量名,返回bool ,輸出:False
26 
27 print("ABcd東".lower())#將大寫字母轉換為小寫,對應有upper()
28 
29 print("abbc".islower()) #是否全為小寫,大寫為:isupper()
30 
31 print("dong xiao dong1".title()) #各單詞首字母大寫,輸出:Dong Xiao Dong1
32 
33 print("Dong Xiao Dong".istitle()) #判斷每個單詞首字母是否均為大寫,輸出:True
34 
35 print("==".join(["111","222","333"])) #集合轉換為字符串,並且使用特點字符分隔,輸出:111==222==333
36 
37 print("   \tjj\n   ".strip()) #去掉兩邊空格或回車等,對應還有:lstrip(),rstrip()
38 
39 p=str.maketrans("dongxiao","123GX678") #一一對應關系
40 print("dongxiaodong".translate(p)) #內容替換,輸出:183GX678183G
41 
42 print("ABCAB".replace("A","aa")) #替換,輸出:aaBCaaB
43 
44 print("dong+xiao+dong".split("+")) #將字符串以"+"分割並保存到列表中,默認分隔符為空格

字符串的排序:

#排序
#轉換成列表輸出
listx="bbe59210"
print(sorted(listx)) #輸出:['0', '1', '2', '5', '9', 'b', 'b', 'e']

判斷某個字符串是否是另一個字符串的子字符串,可以使用find(),也可使用:

if "dong" in "dongxiaodong":
    print("存在") #輸出

if "dong" not in "xiaoxiao":
    print("不存在") #輸出

字符串查找(index)

如果查找的字符串存在則返回位置,不存在則報錯

try:
   print("東小東dong".index("donge"))
except ValueError as e:
    print("****異常***",e)

編碼和Byte(二進制)

中文編碼演變:ASCLL->GB3212->GBK(已支持基本的中文,常用)->GB18030(收錄各民族文字),各編碼均向下兼容

世界標准:ASCLL(一個字符占一個字節)->Unicode(萬國碼,一個字符占兩個字節)->utf-8(英文一個字符占一個字節,漢字一個字符占三個字節)

其中Python3的默認編碼為utf-8

視頻及圖片的保存是使用二進制格式,Python3的網絡編程,傳輸的信息是需要編碼為二進制的

 

編碼和解碼:

1 #編碼,字符串編碼為二進制格式
2 #參數表示是以什么編碼集進行編碼
3 bstr="字符串".encode("gbk") #utf-8
4 
5 #解碼,二進制轉換為字符串格式
6 #參數表示是以什么編碼集進行解碼
7 str=bstr.decode("gbk")
8 
9 print(str) #輸出:字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM