Возможно ли определить из какого языка символ? Кодировка известна. Языки любые

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2023

Есть некоторая строка из символов в известной кодировке, к примеру в UTF-16.

В ней содержатся некие символы одного или разных языков.

Возможно ли как то определить, какому языку определена часть, из которой взят символ?

К примеру, есть буква А (русская) и буква A (английская), на вид они одинаковые, но... сами понимаете, это не один символ, это 2 разных символа (достаточно просто включить шрифт, поддерживающий только латиницу и это станет очевидно). А еще где то там бегают A из других языков...

LangDetect пробовал, он на русскую букву А (detect('А')) выдает что это bg...

Update 1: Нет, на набор букв LangDetect тоже не срабатывает. Только на осмысленные строки, похоже.

Ответы

▲ 0

Воспользуйся библиотеками pycld2 или langdetect. Установите pycld2:

pip install pycld2

Затем через detect определите нужный язык:

import cld2

text = 'Это текст на русском языке'
isReliable, textBytesFound, details = cld2.detect(text)
print(details[0][1]) # выводит 'ru' - язык русский