Как я могу определить символ Unicode по его имени в Python, даже если этот символ является управляющим символом?

Я хотел бы создать массив кодовых точек Unicode, которые составляют пробелы в JavaScript (за вычетом кодовых точек Unicode-white-space, которые я рассматриваю отдельно). Это символы горизонтальной табуляции, вертикальной табуляции, подачи формы, пробела, неразрывного пробела и спецификации. Я мог бы сделать это с помощью магических чисел:

whitespace = [0x9, 0xb, 0xc, 0x20, 0xa0, 0xfeff]

Это немного непонятно; имена были бы лучше. Метод unicodedata.lookup , переданный через ord , помогает некоторым:

>>> ord(unicodedata.lookup("NO-BREAK SPACE"))
160

Но это не работает для 0x9, 0xb или 0xc - я думаю, потому что они управляющие символы, и "имена" FORM FEED и тому подобное - просто псевдонимы. Есть ли способ сопоставить эти «имена» символам или их кодовым точкам в стандартном Python? Или мне не повезло?

10
задан Jeff Walden 6 July 2011 в 20:11
поделиться