python中的字元問題

2022-01-11 00:01:25 字數 851 閱讀 7921

unicode/unicodebig/utf8 在python上預設情況下都解析不了

window系統中

ascll對應的是gbk

unicode|unicodebigendian 對應 utf-16utf-8 對應 utf-8字串在python內部的表示是unicode編碼。

因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。 decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.decode(

'gb2312

'),表示將gb2312編碼的字串str1轉換成unicode編碼。 encode的作用是將unicode編碼轉換成其他編碼的字串,如str2.encode('

gb2312

'),表示將unicode編碼的字串str2轉換成gb2312編碼。

因此,轉碼的時候一定要先搞明白,字串

str是什麼編碼,然後decode成unicode,然後再encode成其他編碼

#!/usr/bin/env python

#coding=utf-8

s="中文"if

isinstance(s, unicode):

#s=u"中文"

print s.encode('

gb2312

')

else

: #

s="中文"

print s.decode('

utf-8

').encode('

gb2312

')

python中的字元編碼問題

總結python的字元編碼 應該在 最初兩行內包含 usr bin env python coding utf 8 獲得 設定系統的預設編碼 sys.getdefaultencoding sys.setdefaultencoding utf 8 獲得檔案系統的檔名的編碼 sys.getfilesys...

Python中的字元編碼問題

寫之前必須先吐槽一句,字元編碼問題真是讓人頭疼啊啊啊啊!這是美國標準資訊交換碼,用8位表示乙個字元,當然用這種方式表示所有的英文本母是完全夠用了,多餘的還能用來表示控制字元,標點符號等這些特殊字元。但是,當其他民族的語言也想被儲存到計算機中時,這種表示方式就完全不夠用了。非英語民族為了滿足自己的語言...

python中的字元編碼問題

ascii碼和字元之間的轉換 gbk2312 6700多漢字 gbk1.0 1995年推出,20000餘漢字 gbk18030 2000年推出,27000餘漢字 unicode 統一碼 萬國碼 單一碼 是電腦科學領域裡的一項業界標準,包括字符集 編碼方案等。unicode 是為了解決傳統的字元編碼方...