Python、unicodedata名称和代码点值,我缺少什么?

Python、unicodedata名称和代码点值,我缺少什么?,python,unicode,Python,Unicode,我正在处理unicode数据字符,我想知道为什么有些字符在unicode数据中没有任何名称?这是一个示例代码,您可以在其中检查 我认为unicode数据库中的每个字符都有名称,顺便说一句,它们都属于同一类别,即[Cc]Other,Control 另一个问题:如何获取unicode代码点值?这是不是ord(unicodechar)起作用了 我还放了这个文件(因为编码是一件奇怪的事情),因为我认为我的剪切粘贴带有“不可见”字符可能有损 #!/bin/env python # -*- coding:

我正在处理unicode数据字符,我想知道为什么有些字符在unicode数据中没有任何名称?这是一个示例代码,您可以在其中检查

我认为unicode数据库中的每个字符都有名称,顺便说一句,它们都属于同一类别,即
[Cc]Other,Control

另一个问题:如何获取unicode代码点值?这是不是
ord(unicodechar)
起作用了

我还放了这个文件(因为编码是一件奇怪的事情),因为我认为我的剪切粘贴带有“不可见”字符可能有损

#!/bin/env python
# -*- coding: utf-8 -*-

#extracted and licensing from here:
"""
:author: Laurent Pointal <laurent.pointal@limsi.fr> <laurent.pointal@laposte.net>
:organization: CNRS - LIMSI
:copyright: CNRS - 2004-2009
:license: GNU-GPL Version 3 or greater
:version: $Id$
"""

# Chars alonemarks:
#         !?¿;,*¤@°:%|¦/()[]{}<>«»´`¨&~=#±£¥$©®"
# must have spaces around them to make them tokens.
# Notes: they may be in pchar or fchar too, to identify punctuation after
#        a fchar.
#        \202 is a special ,
#        \226 \227 are special -
alonemarks = u"!?¿;,\202*¤@°:%|¦/()[\]{}<>«»´`¨&~=#±\226"+\
     u"\227£¥$©®\""
import unicodedata
for x in alonemarks:
    unicodename = unicodedata.name(x, '<unknown>')
    print "\t".join(map(unicode, (x, len(x), ord(x), unicodename, unicodedata.category(x))))

    # unichr(int('fd9b', 16)).encode('utf-8')
    # http://stackoverflow.com/questions/867866/convert-unicode-codepoint-to-utf8-hex-in-python    
#/bin/env python
#-*-编码:utf-8-*-
#从此处提取和授权:
"""
:作者:Laurent Pointal
:组织机构:CNRS-LIMSI
:版权所有:CNRS-2004-2009
:许可证:GNU-GPL版本3或更高版本
:版本:$Id$
"""
#Chars alonemarks:
#         !?¿;,*¤@°:%|¦/()[]{}«»´`¨&~=#±£¥$©®"
#必须在其周围留有空格,以使其成为代币。
#注:它们也可以是pchar或fchar格式,以识别后面的标点符号
#fchar。
#\202是一个特殊的,
#\226\227是特殊的-
alonemarks=u“!?¿;,\202*¤@°:%|¦/()[\]{}«»´`¨&~=#±\226"+\
u“\227元)”
导入Unicode数据
对于alonemarks中的x:
unicodename=unicodedata.name(x,,)
打印“\t”.join(映射(unicode,(x,len(x),ord(x),unicodename,unicodedata.category(x)))
#unichr(int('fd9b',16)).编码('utf-8')
# http://stackoverflow.com/questions/867866/convert-unicode-codepoint-to-utf8-hex-in-python    
我以为unicode数据库中的每个字符都被命名了

否,控制字符没有名称,请参阅文件

另一个问题:如何获取unicode代码点值?是ord(unicodechar)做的吗

对!


根据Unicode数据库

模块使用的名称和符号与 Unicode数据文件格式5.2.0(请参阅)

您的两个字符显示以下输出:

1   150 <unknown>   Cc
1   151 <unknown>   Cc
115cc
1151毫升
它们对应于控制点字符0x96和0x97 上述unicode文档规定:

代理代码点、专用字符、控制代码、, 非字符和未分配的代码点没有名称

我不知道如何通过
unicodedata
模块获得与unicode注释相对应的标签注释,但我认为您的两个控制字符没有任何名称,因为它是按照unicode规范定义的。

谢谢您的回复:)我接受了THG435中的一个,因为他是第一个,但我也愿意接受你的。最好的。
1   150 <unknown>   Cc
1   151 <unknown>   Cc