Perl 5 имеет модуль CPAN с именем Text::Unidecode
, который транслитерирует Unicode в ASCII. Так, например, если вы передадите ему строку "“北亰 — it’s the best”"
, она вернет строку "\"Bei Jing -- it's the best\""
. Быстрый поиск библиотек Java для выполнения того же самого действия привел к тому, что код, который запретил бы символы Unicode, или превратил акцентированные символы в символы без акцента.Есть ли библиотека Java, такая как Perl 5 Text :: Unidecode?
Кто-нибудь знает о библиотеке Java, которая производит аналогичный вывод для Text::Unidecode
?
Просто следует помнить, что реализованный алгоритм настолько чрезмерно упрощена, что я не могу честно представить себе любое разумное использование этого библиотека "транслитерации". Чтобы транслитерировать текст с использованием нелатинских символов на латинские символы, вам нужно, по крайней мере, знать исходный и целевой языки, потенциально, какую систему транслитерации использовать, а в некоторых случаях даже неявное знание контекста, что делает автоматизированный перевод практически невозможным. – jarnbjo
Тот, кто голосовал, чтобы закрыть этот вопрос, якобы прося «рекомендовать инструмент, библиотеку или любимый ресурс вне сайта»: этот вопрос не вызывает умиротворенных дебатов. Он спрашивает, существует ли подобная библиотека (основанная на фактах), а не какая библиотека * best/favorite * (основанная на мнениях). Этот вопрос должен оставаться открытым, чтобы альтернативные библиотеки могли предоставляться в качестве ответов. – amon
@jarnbjo Сообщение прерывается при передаче между двумя базами данных. Коррупция происходит только с символами, отличными от ASCII. Хотя исправление для коррупции исследуется, желательно, чтобы сообщения были удобочитаемыми. Язык почти 100% английский (может быть, немного испанский), и мы в основном имеем дело с проблемами с тире, кудрявыми цитатами и т. П., Но я хотел получить более полное стоп-решение, которое не просто лишало бы обидных символов. –