我有一個應該被解釋爲utf-8但不是(它以這種方式給予我的)文本的文本文件。 這裏是文件的一個典型的行的一個示例:在python中將「純文本」解釋爲utf-8文本
\ u30ed \ u30f3 \ u30c9 \ u30f3 \ u5728 \ u4f4f
本應是:
ロンドン在住
現在,我可以通過在命令行中鍵入以下命令手動執行python:
>>> h1 = u'\u30ed\u30f3\u30c9\u30f3\u5728\u4f4f'
>>> print h1
ロンドン在住
這給了我想要的東西。有沒有一種方法可以自動執行此操作?我試過做這樣的東西
>>> f = codecs.open('testfile.txt', encoding='utf-8')
>>> h = f.next()
>>> print h
\u30ed\u30f3\u30c9\u30f3\u5728\u4f4f
我也試過'編碼'和'解碼'功能,有什麼想法嗎?
謝謝!
沒有純文本這樣的東西,也沒有UTF-8文本這樣的東西。文字是一種抽象。 UTF-8是將字符編碼爲字節。另外,如果文件實際上包含反斜槓,則與在Python源文件中將雙引號之間的反斜槓完全不同。這是一個完全獨立的編碼步驟。如果你想在你的文件中使用ロ,然後把ro放在你的文件中。 –