python字串亂碼問題

2021-06-22 17:00:30 字數 1018 閱讀 9712

字串在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...