在Python中,字符串以字母 B 開頭的字符串被稱為“字節字符串”。它們和普通字符串的不同之處在于它們以 b 前綴開頭,并且可以包含任何 0-256 的整數。但在某些情況下,當我們需要將字節字符串轉換為普通字符串時,我們需要刪除它們前面的 b 前綴。
# 示例代碼 byte_string = b'Hello, world!' string = byte_string.decode('utf-8') print(string)
在上面的代碼片段中,我們首先定義了一個字節字符串“Hello, world!”,然后使用 Python 的 decode() 方法將其轉換為普通字符串。實際上,這個方法將字節串解碼為 Unicode 字符串,然后返回結果。在這個過程中,我們刪除了字符串前面的 b 前綴。
然而,如果我們不想使用 Unicode 編碼,而想使用其他編碼,我們需要將字符串傳遞給 bytes 類型的 decode() 方法中。下面是一個示例,它使用 GBK 編碼解碼字節字符串:
# 示例代碼 byte_string = b'\xc4\xe3\xba\xc3\xb9\xfa\xbc\xdb!' string = byte_string.decode('gbk') print(string)
在這個示例中,我們傳遞了“gbk”作為 decode() 方法的參數,以使 Python 使用 GBK 編碼解碼字節串。同樣地,我們也刪除了字節串前面的 b 前綴。