多條告白如次劇本只需引入一次
最早的字符串源代碼是美利堅(jiān)合眾國規(guī)范消息調(diào)換碼,即ASCII碼,他僅對(duì)10個(gè)數(shù)字,26個(gè)小寫英筆墨母、26個(gè)小寫英筆墨母及少許其余標(biāo)記舉行了源代碼。ASCII碼最多只能表白256個(gè)標(biāo)記,每個(gè)標(biāo)記占一個(gè)字節(jié)。跟著消息本領(lǐng)的興盛,列國筆墨都須要舉行源代碼,所以展示了GBK、GB2312、UTF-8源代碼等。個(gè)中GBk和GB2312是我國擬訂的華文源代碼規(guī)范,運(yùn)用一個(gè)字節(jié)表白英筆墨母,2個(gè)字節(jié)表白中筆墨符。而UTF-8是我國通用的源代碼,對(duì)全寰球一切國度用到的字符都舉行了源代碼。UTF-8沿用一個(gè)字節(jié)表白英筆墨符、3個(gè)字節(jié)表白華文。在Python3.X中。默許沿用的源代碼***為UTF-8,沿用這種源代碼靈驗(yàn)地處置了華文亂碼的題目。
在Python中,有兩種常用的字符串典型,辨別是str和bytes。個(gè)中str表白Unicode字符(ASCII碼大概其余)bytes表白二進(jìn)制數(shù)據(jù)(囊括源代碼的文本)。這兩種典型的字符串不許拼接在一道運(yùn)用。常常情景下,str在外存中以Unicode表白,一個(gè)字符對(duì)應(yīng)諾干個(gè)字節(jié)。然而即使在搜集上傳輸,大概生存到磁盤上,就須要把str變換為字節(jié)典型,即bytes典型。
注:bytes典型的數(shù)據(jù)時(shí)帶有b前綴的字符串(用單引號(hào)大概雙引號(hào)表白)比方b’xd2xb0’和’bmr’都是bytes典型的數(shù)據(jù)。
str典型和bytes典型之間不妨經(jīng)過encode()和decode()本領(lǐng)舉行變換,這兩個(gè)本領(lǐng)是互逆的進(jìn)程。
1.運(yùn)用encode()本領(lǐng)源代碼
encode()本領(lǐng)為str東西本領(lǐng),用來將字符串變換為二進(jìn)制數(shù)據(jù)(即bytes)也稱為源代碼,其語法***如次:
str.encode([encoding="utf-8"][,errors="strict"])參數(shù)證明:str:表白要舉行變換的字符串encoding="utf-8":可選參數(shù),用來指定舉行轉(zhuǎn)碼時(shí)沿用的字符源代碼,默許為UTF-8,即使想運(yùn)用簡(jiǎn)體華文,也不妨樹立為gb2312。當(dāng)惟有一個(gè)參數(shù)時(shí),也可簡(jiǎn)略前方的encoding=,徑直寫源代碼。errors="strict":可選參數(shù),用來指定缺點(diǎn)處置辦法,其可選址值strict(遇到不法字符就拋出特殊)ignore(忽視不法字符)、replace(用?替代不法字符)或xmlcharrefreplace(運(yùn)用xml的字符援用)等,默許為strict。注:在運(yùn)用encode()本領(lǐng)時(shí),不會(huì)竄改原字符串,即使須要竄改原字符串,須要對(duì)其舉行從新賦值。
比方:
verse='野渡無人舟自橫'byte=verse.encode('GBK')print('原字符串:',verse)print('變換后:',byte)2.運(yùn)用decode()本領(lǐng)
decode()本領(lǐng)為bytes東西的本領(lǐng),用來將二進(jìn)制變換為字符串,行將運(yùn)用encode()本領(lǐng)變換的截止再變換為字符串,也稱為“解碼”,語法***如次:
bytes.decode([encoding="utf-8"][,errors="strict"])參數(shù)證明:bytes:表白要舉行轉(zhuǎn)為二進(jìn)%e