2
假設我收到用MS字寫成並保存爲純文本(.txt)的西班牙文文本。不幸的是,所有的西班牙口音出現這樣的:Emacs - 如何避免或替換錯誤的字符編碼?
Un \372ltimo an\341lisis
誰能告訴我怎樣才能避免這種情況,或至少我怎樣才能將這些字符替換?他們根本找不到replace-regexp函數,否則我可以編寫一個elisp函數,用相關的西班牙語重音字符替換它們的每一個出現。
假設我收到用MS字寫成並保存爲純文本(.txt)的西班牙文文本。不幸的是,所有的西班牙口音出現這樣的:Emacs - 如何避免或替換錯誤的字符編碼?
Un \372ltimo an\341lisis
誰能告訴我怎樣才能避免這種情況,或至少我怎樣才能將這些字符替換?他們根本找不到replace-regexp函數,否則我可以編寫一個elisp函數,用相關的西班牙語重音字符替換它們的每一個出現。
這看起來像ISO 8859-1(Latin-1)編碼。
改爲使用該編碼系統訪問該文件。如果Emacs沒有自動識別編碼系統,您可以使用revert-buffer-with-coding-system
(C-x RET r
)的顯式編碼系統重新訪問該文件。
例如,如果你正在尋找你所描述的亂碼文件,
C-x RET r
latin-1 RET
yes RET
然後你可以設置你想要的編碼系統保存(C-x RET f
)和指定如utf-8
東西。
太好了,謝謝你的作品,並且會爲我節省很多工作。唯一沒有被識別的'東西'是\ 223reglamentada \ 224,但是由於這個詞是完整的,我猜它是來自MS Word的某種格式化代碼。 – Thorsten
PS Emacs如何識別像\ 372或\ 341這樣的「字符」?我怎麼能在緩衝區中執行正則表達式搜索並找到它們? – Thorsten
'\ 372'是一個單個字符(八進制372),它是Latin-1中的''。由於它在UTF-8中沒有任何意義,所以emacs會顯示字節值。 – Juancho