Python字串編碼

2021-05-09 12:29:17 字數 770 閱讀 5245

在python中有些特殊的地方是存在兩種字串,分別為str和unicode字串,他們都繼承自basestring。

如:s="hello world",s為str;us=u"hello world",us為unicode。

使用help(str)和help(unicode)可以檢視各自說明,他們都有decode、encode方法,

decode用於將str字串解碼為unicode字串,

encode用於將unicode字串編碼為str字串。

在指定編碼如下時有

#-*- encoding: utf-8 -*-

示例解析:

>>> s='hello 世界'          //s為str型別,utf-8編碼

>>> dutf8=s.decode('gbk')   //與源編碼不符,用gbk解碼會出錯

>>> dgbk=s.decode('utf-8')  //解碼正確

>>> us=dgbk.encode('gbk')   //編碼轉換正確,us為utf-8編碼

總結:1、unicode編碼為中轉編碼,編碼順序為:

decode           encode

str (utf-8編碼)  ------>  unicode ------> str(gbk編碼或者其他編碼)

2、要顯示漢字必須用unicode編碼途徑有二

1. s.decode("utf-8")

2. u"字串"

3、由上可知,要想轉碼正確,首先必須知道轉換物件的正確編碼。

python字串編碼

常見字元編碼型別 ascii 美國資訊交換標準碼,是目前計算機中最廣泛使用的字符集編碼。每個 ascii 碼以 1 個位元組 儲存,例如數字字元 0 的 ascii 碼是 0110000,十進位制表示為 48。unicode 為解決世界上上百種語言帶來混合 衝突,各國有各國的標準,顯示很容易出現亂碼...

Python字串 編碼

字串str 作用 用來記錄文字資訊 字面值表示方法 用引號括起來的部分都是字串 單引號 雙引號 三單引號 三雙引號 空字串 字串的字面值表示方式 hello hello hello hello 單引號和雙引號的區別 單引號內的雙引號不算結束符 雙引號內的單引號不算結束符 三引號的作用 三引號內可以包...

python字串編碼

python3支援unicode ord 可以把字元轉換成對應的unicode碼。chr 可以把十進位制轉換成對應的字元。is not is,判斷兩個物件是否相同,比較的id 成員操作符 in not in判斷某個字元 子字串 是否存在於字串中。可變字串 字串屬於不可變物件,不支援原地修改,如果需要...