沒有我知道的內置功能。我爲你的任務寫了一個包unidecode
。它使用與Python's same-named庫中相同的方法。若要安裝只需添加MELPA庫到你的資料庫列表:
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
然後運行M-X包安裝RET unidecode。 unidecode
有2個函數,unidecode-unidecode
將Unicode轉換爲ASCII,而unidecode-sanitize
可丟棄非字母數字字符並將空格轉換爲連字符。
ELISP> (unidecode-unidecode "¡Hola!, Grüß Gott, Hyvää päivää, Tere õhtust, Bonġu Cześć!, Dobrý den, Здравствуйте!, Γειά σας, გამარჯობა")
"!Hola!, Gruss Gott, Hyvaa paivaa, Tere ohtust, Bongu Czesc!, Dobry den, Zdravstvuite!, Geia sas, lmsllmlllmckhmslmgll"
ELISP> (unidecode-sanitize "¡Hola!, Grüß Gott, Hyvää päivää, Tere õhtust, Bonġu Cześć!, Dobrý den, Здравствуйте!, Γειά σας, გამარჯობა")
"hola-gruss-gott-hyvaa-paivaa-tere-ohtust-bongu-czesc-dobry-den-zdravstvuite-geia-sas-lmsllmlllmckhmslmgll"
此代碼Xah李是一個部分解決你的問題:http://ergoemacs.org/emacs/emacs_zap_gremlins.html – Juancho
謝謝,這幫助。至少它可以爲一些常用字符創建標準翻譯表(即使不是最優的,例如德語ü通常被轉換爲ue)。 – kdb
沒有全球性的「最佳」。在其他語言中使用字符'ü',而不將其音譯爲'ue'。 – bobince