字串在python內部的表示是unicode編碼。
因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。
decode的作用是將其他編碼的字串轉換成unicode編碼,如string1.decode('utf-8'),表示將utf-8編碼的字串string1轉換成unicode編碼。
encode的作用是將unicode編碼轉換成其他編碼的字串,如string2.encode('utf-8'),表示將unicode編碼的字串string2轉換成utf-8編碼。
如果乙個字串已經是unicode了,再進行解碼則將出錯,因此通常要對其編碼方式是否為unicode進行判斷:
isinstance(string3, unicode) #用來判斷string3是否為unicode編碼
用非unicode編碼形式的string3來encode也會報錯。
#獲得系統的預設編碼
#!/usr/bin/env python
#coding=utf-8
import sys
print sys.getdefaultencoding()
#萬能方法
#!/usr/bin/env python
#coding=utf-8
string4="你好"
if isinstance(string4, unicode):
print s.encode('gb2312')
else:
print s.decode('utf-8').encode('gb2312')
PHP UTF 擷取字串亂碼問題
php utf 擷取字串亂碼問題 使用php substr 函式擷取字串末位會出現亂碼,因為中文utf 8編碼,每個漢字佔3位元組,而gb2312佔2位元組,英文佔1位元組,擷取位不準確,造成斷開的字元會把其後的.拉過來一起做乙個字,解決方法 function cut str string,subl...
python字串 Python 字串
建立字串很簡單,只要為變數分配乙個值即可。例如 var1 hello world var2 python runoob python訪問字串中的值python不支援單字元型別,單字元在 python 中也是作為乙個字串使用。python訪問子字串,可以使用方括號來擷取字串,如下例項 例項 pytho...
python字串 python字串
單引號示例常用的轉義字元 轉義字元案例1format 格式化練習1 help sisdigit,isnumeric,isdecimal 三個判斷數字的函式 isalnum 檢查字串是否由字母加數字組成 s test1split 字串拆分 splitlines 已換行符拆分 join 合成字串 upp...