Chciałbym móc biegać
unicode-names 'abç'
i zobacz odpowiednie nazwy znaków Unicode:
LATIN SMALL LETTER A
LATIN SMALL LETTER B
LATIN SMALL LETTER C WITH CEDILLA
Drukowanie ciągu jako serii nazw glifów Unicode byłoby przydatne w kilku przypadkach:
- Odróżnij łatwo mylące znaki, takie jak „i” i „í”.
- Wyjaśnij, co tak naprawdę zawiera literał (na przykład niedrukowalne lub nieprzypisane znaki o zerowej szerokości).
command-line
unicode
l0b0
źródło
źródło
echo -n …— | uniname -bcegpu
Nie znam dobrego sposobu na sprawdzenie tego
bash
, ale Python ma wbudowaną bazę danych Unicode, której można używać jak w skrypcie takim jak ten:Możesz użyć tego skryptu w następujący sposób (zakładając, że go nazwałeś
unicode-names
):Baza danych zgłasza
ValueError
wyjątek dla dowolnych znaków, o których nie wie, więc wypisujemy ich punkty kodowe dziesiętnie (zwykle są to znaki niedrukowalne).Uwaga: skrypt zakłada, że twój terminal jest zakodowany w UTF-8. Jeśli nie jest, powinieneś zmienić argument
decode()
metody. Python obsługuje bardzo szeroki wybór kodowań, twoje na pewno tam będzie.źródło
sys.getdefaultencoding()
.