python 中字元編碼

2022-07-25 08:39:09 字數 1143 閱讀 4192

背景:在跑hadoop是python指令碼經常要處理不同的格式的編碼資料,主要字元編碼:ascii,gb18030,unicode,utf-8等

python有兩種字串

bytestring = "hello world! (in my default locale)"

unicodestring = u"hello unicode world!"

相互轉換

1 s = "hello normal string"

2 u = unicode( s, "utf-8" )

3 backtobytes = u.encode( "utf-8" )

3 backtoutf8 = backtobytes.decode(『utf-8』) #與第二行效果相同

如何判斷

if isinstance( s, str ): # 對unicode strings,這個判斷結果為false

if isinstance( s, unicode): # 對unicode strings,這個判斷結果為true

if isinstance( s, basestring ): # 對兩種字串,返回都為true

系統預設編碼

import sys

sys.getdefaultecoding() "default ascii" 預設是位元組編碼

decode,encode 使用

python 系統內部處理是unicode 編碼,在轉碼時,首先將不同編碼格式的字串轉化為unicode, 如:s="中國",s.decode('gbk')。對unicode內碼的資料用encoding轉成相關編碼的字元資料。s.encode('utf8').

-*- coding: utf-8 -*-

py檔案當中是不支援中文的,即使你輸入的注釋是中文也不行,為了解決這個問題,就需要把檔案編碼型別改為utf-8的型別,輸入這個**就可以讓py原始檔裡面有中文了。
python 解碼 unicode 明文

s = '

\u4f60\u597d\uff0c\u4ece\u6ce2\uff01

'

1. u = eval('u"' + s + '"')

2.u = s.decode('unicode_escape')

3.使用 python3 

Python 中的字元編碼

1 str型別可以理解為乙個二進位制block,或multibyte 2 multibyte str.decode unicode 3 unicode str.encode multibyte str binary block 4 unicode str 的操作引數也應為unicode,如 unic...

Python中的字元編碼

cpu 記憶體 硬碟是計算機的三大核心硬體。1.任何軟體在執行之前,都是以二進位制的格式儲存在硬碟當中的。2.當軟體被開啟時,硬碟將資料載入到記憶體中,cpu再從記憶體中讀取資料被執行。3.軟體在執行過程中產生的資料都是存放於記憶體中,若想永久儲存資料,則得轉移到硬碟中 有的小夥伴可能會想到 那在電...

python中的字元編碼問題

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