Unicode名称的详细信息\ N已记录?

时间:2017-11-29 14:52:54

标签: python python-2.7 unicode

基于urwid exampleu'\N{HYPHEN BULLET}将创建一个unicode字符,这是一个用于子弹的连字符。

unicode字符的名称似乎在fileformat.info定义,并且在Python中使用Unicode的某些元素出现在howto documentation中。虽然没有提到\N{}语法。

如果你将所有这些文档拉到一起,你会发现常量u"\N{HYPHEN BULLET}"创建了一个⁃

然而,这完全是基于将所有这些数据拉到一起的理论。我在Python文档中找不到"\N{}的文档。

我的问题是我的操作理论是否正确以及是否记录在任何地方?

3 个答案:

答案 0 :(得分:3)

并非每个血淋淋的细节都可以在方法中找到。参考手册中的table of escape sequences包括:

逃脱序列:\N{name}
含义:Unicode数据库中的名为name的字符(仅限Unicode)

答案 1 :(得分:3)

你是正确的HEXVALUE;CHARACTER NAME;etc..在Python中生成一个有效的unicode字符。

Python文档中没有多少文档记录,但经过一些搜索后,我在effbot.org上找到了对它的引用

http://effbot.org/librarybook/ucnhash.htm

  

ucnhash模块

     

(实现,仅限2.0)该模块是一个实现模块,   它为Unicode字符串的字符代码映射提供名称   文字。如果此模块存在,您可以使用\ N {}转义来映射   Unicode字符名称代码。

     

在Python 2.1中,该模块的功能已移至    unicodedata 模块。

检查unicodedata的文档显示该模块正在使用Unicode字符数据库中的数据。

  

unicodedata - Unicode数据库

     

此模块提供对Unicode字符数据库(UCD)的访问   它定义了所有Unicode字符的字符属性。该   此数据库中包含的数据是从UCD版本编译的   9.0.0。

完整数据可在以下网址找到:https://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt

数据的结构为# 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; >>> u"\N{LATIN CAPITAL LETTER A}" 'A' # FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L;<narrow> 30B5;;;;N;;;;; >>> u"\N{HALFWIDTH KATAKANA LETTER SA}" 'サ' ,因此您可以使用此数据查找字符。

例如:

$httpProvider.defaults.headers.get = { 'CSRF-Token': afToken }; 
$httpProvider.defaults.headers.put = { 'CSRF-Token': afToken };
$httpProvider.defaults.headers.post = { 'CSRF-Token': afToken }; 

答案 2 :(得分:2)

至少在Unicode HOWTO中记录了\N{}语法。

名称记录在Unicode标准中,例如:

http://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt

unicodedata模块可以查找角色的名称:

>>> import unicodedata as ud
>>> ud.name('A')
'LATIN CAPITAL LETTER A'
>>> print('\N{LATIN CAPITAL LETTER A}')
A