Я хотел бы иметь возможность бежать
unicode-names 'abç'
и увидеть соответствующие имена символов Unicode:
LATIN SMALL LETTER A
LATIN SMALL LETTER B
LATIN SMALL LETTER C WITH CEDILLA
Печать строки в виде серии имен символов Unicode будет полезна в нескольких случаях:
- Различают легко запутанные символы, такие как «я» и «í».
- Объясните, что на самом деле содержит буквальная строка (например, непечатаемые или неназначенные символы нулевой ширины).
command-line
unicode
l0b0
источник
источник
echo -n …— | uniname -bcegpu
Я не знаю хорошего способа проверить это
bash
, но в Python есть встроенная база данных Unicode, которую вы можете использовать, как в следующем скрипте:Вы можете использовать этот скрипт следующим образом (если вы его назвали
unicode-names
):База данных генерирует
ValueError
исключение для любых символов, о которых она не знает, поэтому мы печатаем их кодовые точки в десятичном виде (обычно это непечатаемые символы).Предостережение: скрипт предполагает, что ваш терминал имеет кодировку UTF-8. Если это не так, вы должны изменить аргумент
decode()
метода. Python поддерживает очень широкий выбор кодировок, там обязательно найдутся ваши.источник
sys.getdefaultencoding()
.