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