字串和位元組

2021-10-01 10:01:48 字數 1040 閱讀 9108

python3中只有一種能夠儲存文字資訊的資料型別,就是str(string,子字串)。它是不可便序列,儲存的是unicode碼位(code point)。這是與python2的主要區別,python2用str表示位元組字串,這種型別在python3中用bytes物件來處理(但處理方式並不完全相同)。

python中的字串是序列。但是字串與其他容器型別在細節上有乙個很重要的差異。字串可以儲存的資料型別有非常明確的限制,就是unicode文字。

bytes以及可變的bytearray與str不同,只能用位元組作為序列值,即[0, 256)範圍內的整數。

位元組也被單引號、雙引號或三引號包圍,但必須有乙個b或b字首

注意,python語法中沒有bytearray字面值

unicode字串中包含無法用位元組表示的"抽象"文字。因此,如果unicode字串沒有被編碼為二進位制資料的話,是無法儲存在磁碟中或通過網路傳送的,將字串物件編碼未位元組序列的方法有兩種:

利用類似方法可以將bytes表示的二進位制資料轉換成字串:

python字串是不可變的。位元組序列也是如此,基於此,每當需要修改字串時,都需要建立乙個全新的字串例項。bytearray則是bytes的可變版本,不存在這樣的問題。

在字串拼接時,由於字串是不可變的,拼接任意不可變序列都會產生乙個新的序列物件

str.join()接受可迭代的字串作為引數,返回合併後的字串,由於這是乙個方法,實際的做法是利用空字串來呼叫它。

s =

"".join(substrings)

還可這樣

','

.join(

['welcome'

,'to'

,'moddemod'

])

output:

welcome,to,moddemod

如果事先知道字串的數目,可以用正確的字串格式化方法來保證字串拼接的最佳可讀性。字串格式化可以用str.format()方法或%運算子。

字串 字元和位元組

字串是由乙個個字元組成的,每個字元又由乙個或多個位元組來表示,每個位元組又由8個bit位來表示。字元 計算機中使用的文字和符號,比如1 2 a b 等等。位元組 byte 一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。不同編碼裡,字元和位元組的對應關係不同 asci...

字串 字元和位元組

字串就是一串零個或多個字元,並且以乙個位模式為全0的nul位元組結尾。nul位元組是字串的終止符,但是它本身不是字串的一部分,所以字串的長度並不包括nul位元組。標頭檔案string.h包含了使用字串函式所需的原型和宣告。字串的長度就是它所包含的字元個數。strlen可求字串長度,返回值是size ...

字串 字元 位元組

字串就是一串零個或多個字元,並且以乙個位模式為全0的nul位元組結尾。nul位元組是字串的終止符,但它本身並不是字串的一部分,所以字串的長度並不包括nul字元。複製字串 char strcpy char dst,char const src 這個函式把引數src字串複製到dst引數。如果引數src和...