当前位置: 首页 > 面试题库 >

unicodedata.normalize(form,unistr)如何工作?

谷梁涵忍
2023-03-14
问题内容

在API文档上,http://docs.python.org/2/library/unicodedata.html#unicodedata.normalize。它说

返回正常的形式 形式 为Unicode字符串 UNISTR 。格式的有效值为’NFC’,’NFKC’,’NFD’和’NFKD’。

文档相当模糊,有人可以valid values用一些例子解释吗?


问题答案:

我发现文档非常清晰,但是这里有一些代码示例:

from unicodedata import normalize

print '%r' % normalize('NFD', u'\u00C7')  # decompose: convert Ç to "C + ̧"
print '%r' % normalize('NFC', u'C\u0327') # compose: convert "C + ̧" to Ç

两种’D’(=分解)形式都将单个组合字符(如ä)转换为两个字符(a+两个点)。两种’C’(= compose)形式都相反。

出于兼容性目的,两个“
K”形式用于转换添加到Unicode的字符。例如,为了支持不能在符号周围画圆的软件,有一组“带圆圈的数字”,例如①(统一编号2460)。当我们对其应用规范分解(NFD)时,它不会执行任何操作:

print '%r' % normalize('NFD', u'\u2460')     # u'\u2460'

但是,兼容性分解(NFKD)将返回相应的“兼容”字符:

print '%r' % normalize('NFKD', u'\u2460')    # 1

有关更多详细信息,请参见http://en.wikipedia.org/wiki/Unicode_equivalence。



 类似资料:
  • 我正在尝试让redux-form与TypeScript和Styled-Components一起工作。在下面的代码示例中,为什么它不能与样式化的输入组件一起工作?输入呈现出来,但每个按键都失去了焦点。还需要单击两次来聚焦元素。看起来redux-form试图控制Styled-Components返回的包装元素?redux-form和styled-components都使用HOC高阶组件将道具传递给底层

  • 谷歌主表单的副本通过电子邮件发送给团体。当每个小组的一名成员完成表单时,响应将发送到谷歌电子表格中的一张工作表。如果有10组,电子表格中将有10张表格。 每个工作表的名称默认为表单响应1、表单响应2、表单响应3。。。等 如何将表单响应表名称更改为组的名称。 以下是我的尝试。 它在电子表格中新添加的工作表之前重命名工作表。 提前谢谢。

  • 当内容类型为application/json时,@RequestBody可以读取请求主体并将其反序列化为对象,但内容类型为application/x-www-form-urlencoded,spring mvc无法支持带有@RequestBody注释的此内容类型。 在我的项目中,我遇到了这个问题,我想同时支持他们两个,但我不想失去@quiestBody的便利性。 有没有另一种方法来支持这两种内容类

  • 我有一个表单,其中每个输入元素都有一个带有文本的标签,一些标签有一个带有“required”类的span项,在标签和文本输入之间可能有一些更多的div。 我需要通过所有的输入,有一个标签与所需的跨度。我可以旋转穿过所有的跨度 其中“元素”是跨度。但如何获取关联的输入?以下均不起作用:

  • 问题内容: 我对如何使用动作监听器和实现它们有一个想法,但是我想知道是否有人可以告诉我他们如何监听事件?有某种轮询机制吗? 问题答案: 动作侦听器使用观察者模式注册事件,主事件循环会将它们注册的所有事件通知它们。所以不,这不是轮询(拉)机制,而是相反的(推)回调。这是“不给我们打电话,我们给您打电话”编程的一个例子。因为代码中的所有内容都在单个线程(事件循环)上运行,所以您不必担心不同事件之间的同

  • 问题内容: 我试图了解Collections.binarySearch如何在Java中工作。我不太明白我得到的输出。 此代码的输出为-1。 当按此顺序插入元素时 结果是0。我认为如果找不到该元素,则结果为负数。有人可以澄清我收到的输出吗? 问题答案: 您的数据必须根据给定的比较器进行排序,以使二进制搜索能够按预期工作。(如果不是,则行为是不确定的。) 在进行此调用之前,必须根据指定的比较器(通过方