2013-07-02 52 views
3

Perl 5在CPAN上有一個名爲Text::Unidecode的模塊,它將Unicode轉換爲ASCII。因此,例如,如果您將字符串"「北亰 — it’s the best」"交給字符串,它將回傳字符串"\"Bei Jing -- it's the best\""。快速搜索Java庫以執行相同的操作只會導致代碼消除Unicode字符或將重音字符變爲非重音字符。是否有像Perl 5的Text :: Unidecode這樣的Java庫?

有誰知道產生類似輸出到Text::Unidecode的Java庫嗎?

+1

要知道,在實施的算法是這樣過於簡單,我不能誠實地想象任何合理的利用這「音譯」庫。要將使用非拉丁字符的文本音譯爲拉丁字符,您至少需要了解源語言和目標語言,可能使用哪種音譯系統,某些情況下還需要隱式語境知識,這使得自動翻譯幾乎不可能。 – jarnbjo

+0

誰投票結束這個問題,因爲涉嫌要求「推薦一個工具,圖書館或最喜歡的非現場資源」:這個問題並沒有引發有爭議的辯論。它詢問是否存在類似的圖書館(基於實際),而不是最佳/最喜歡的圖書館(基於意見)。這個問題應該保持開放,以便可以提供替代圖書館作爲答案。 – amon

+0

@jarnbjo在兩個數據庫之間傳輸時,消息正在損壞。損壞只發生在非ASCII字符上。儘管正在研究修復腐敗問題,但希望這些消息具有可讀性。這種語言幾乎是100%英語(也許是一些西班牙語),我們主要處理電郵,報價等問題,但我想要一個更完整的權宜之計解決方案,而不僅僅是去除違規角色。 –

回答

1

一個快速谷歌說:http://junidecode.sourceforge.net/ - 但看起來它沒有更新一段時間。

+1

鑑於Perl 5版本自2001年以來沒有改變,我懷疑一旦它工作,它將需要更新。 –

+0

不確定。 Java的Unicode支持在過去幾年中經歷了不少修訂 - 我懷疑2010年的圖書館是否能夠支持現代平臺的一切,我的理解是這是一個不平凡的問題。 – kittylyst

0

還有另一個Java庫:unidecode

使用帶有搖籃:

compile 'cz.jirutka.unidecode:unidecode:1.0.1' 

使用與Maven:

<dependency> 
    <groupId>cz.jirutka.unidecode</groupId> 
    <artifactId>unidecode</artifactId> 
    <version>1.0.1</version> 
</dependency> 
相關問題