Как я могу заменить символы, отличные от ascii, из строки юникода в Python?
Это результат, который я вижу для данных входов:
музыка -> музыка
картон -> картон
кано -> кано
Может быть, с диктофоном, где «а» — это ключ, а «а» — значение?
Как я могу заменить символы, отличные от ascii, из строки юникода в Python?
Это результат, который я вижу для данных входов:
музыка -> музыка
картон -> картон
кано -> кано
Может быть, с диктофоном, где «а» — это ключ, а «а» — значение?
Если все, что вы хотите сделать, это ухудшить символы с акцентом до их эквивалента без акцента:
>>> import unicodedata
>>> unicodedata.normalize('NFKD', u"m\u00fasica").encode('ascii', 'ignore')
'musica'
NFKD
?
- person bikashg; 15.10.2019
Теперь, просто чтобы дополнить этот ответ: может случиться так, что ваши данные не поступают в юникоде (т.е. вы читаете файл с другой кодировкой, и вы не можете добавить к строке префикс «u»). Вот фрагмент, который тоже может сработать (в основном для тех, кто читает файлы на английском языке).
import unicodedata
unicodedata.normalize('NFKD',unicode(someString,"ISO-8859-1")).encode("ascii","ignore")