Python處理中文

2021-06-27 15:21:59 字數 712 閱讀 3673

用python寫了個從一堆中文微博中抽取電影票房資料的程式,處理中文編碼問題非常麻煩,有以下經驗:

1,在正規表示式中的中文應該用\u***x的形式,正規表示式字串還要以ur為字首(u表示unicode,r表示raw,即忽略c++形式的轉義字元)。

2,各種編碼都統一成utf8的時候世界終於清靜了

4,原始碼開頭要加這樣幾行:

# coding=utf8

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

(注意:如果加了第一行,那麼**檔案本身也需要時utf-8編碼,且不帶bom)

5,從乙個utf8檔案讀出來的每一行文字都要呼叫 line.decode('utf8')

注意這個函式並不修改字串物件本身,而是返回乙個解碼後的新物件

對python程式字元編碼涉及層面的乙個推測:

分成三層,應用程式層面、python直譯器層面、系統層面。

應用程式層面的編碼可以控制。

python直譯器層面好像是unicode編碼,在它看來其他字元編碼都是把字串「encode」了。所以python自帶的字串decode函式意義是:按照引數指定的編碼格式,把字串轉換(解碼)成直譯器自己的編碼格式(即unicode格式)。而encode的意思是把字串從直譯器的內部編碼格式(即unicode)編碼成引數所指定的編碼格式的字串。

python中文處理

1.多位元組問題必須要全部轉成unicode再處理,否則就會有問題,比如中文gbk編碼的 和珅 其中的珅的後半位元組和 的一樣的,所以在處理的時候會有問題,如下我們用re.split來分割 用正則分隔某個字串 def split str,patternlist unicodestr str.deco...

Python處理中文語言 讀取中文

本文解決問題 1 匯入中文txt文字,並轉換為unicode 2 匯入包含中文的py file 解決問題一 匯入中文txt文字,並轉換為unicode 1 unicode utf 8 簡單理解,unicode是 一種處理所有非英文語言的編碼方式,即將每個語言中的每個文字設定成不同的數字,避免造成混亂...

Python的中文處理

一 使用中文字元 在python原始碼中如果使用了中文字元,執行時會有錯誤,解決的辦法是在原始碼的開頭部分加入字元編碼的宣告,下面是乙個例子 usr bin env python coding cp936 python tutorial中指出,python的原始檔可以編碼ascii以外的字符集,最好...