2017-08-25 46 views
2

當我試圖閱讀下面的Python代碼的文本文件:如何清潔 XC2 XA0 XC2 XA0 .....文本數據

​​

得到了一些奇怪的字符開始\ x ....,它們代表什麼以及如何在閱讀文本文件時擺脫它們?

例如

...... \ XC2 \ XA0 \ XC2 \ XA0章1日1984年\ XE2 \ X80 \ x9chey,傑克,你媽媽讓我來接你\ XE2 \ X80 \ x9d雅各布·羅賓斯知道優於接受一個陌生人的搭車,但是當他的朋友羅尼在學校門前等他時,他不情願地坐上了車。xe2 \ x80 \ x9cmy的名字是雅各布....... 。

+2

這是什麼,python 2或python 3? –

+4

我希望雅各布好 – TrevorBrooks

回答

6

這是UTF-8編碼的文本。您以UTF-8打開文件。

with open(file, 'r', encoding='utf-8') as myfile: 
    ... 

2.X:

with codecs.open(file, 'r', encoding='utf-8') as myfile: 
    ... 

Unicode In Python, Completely Demystified

+0

'io.open(file,'r',encoding ='utf-8')'可以在2和3中工作(除非他們使用的是2.5或更高版本,在這種情況下,問題)。 – jwodder

+0

好吧,如果我運行你的代碼,我得到了: u「\ xa0 \ n \ n \ n沒有前兄弟\ n \ n \ nA BoonieRats - 傑克奧爾森小說\ n \ n \ n比爾Ellingsen \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n沒有前兄弟Bill Ellingsen \ n \ nCopyright 2011年9月由Bill Ellingsen \ n \ n \ n由Bill Ellingsen發佈\ n \ n保留所有權利\ n \ n \ n由Daniel Cosgrove \ n \ nCopyright 2011年9月由比爾Ellingsen \ n \ n \ n – Paul

+0

這正是你應該有的。http://www.fileformat.info/info/unicode/char/00a0/index.htm http:// www .fileformat.info /信息/ Unicode的/炭/ 00A9/index.htm的 –

0

這些都是字符串轉義。它們用十六進制值表示一個字符。例如,\x240x24,這是美元符號。

>>> '\x24' 
'$' 
>>> chr(0x24) 
'$' 

這樣一個逃生(從您提供的那些)是\xc2Â,用抑揚大寫的A。

相關問題