问题标签 [unicode-normalization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
448 浏览

unicode - 字符集比较

我需要紧急帮助。我无法比较字符集字符串。写入数据库table1的字符串utf-8 charset看起来还是很奇怪: SADI 但是写入同一个数据库的table2的字符串SADI是正常的。每当我比较两者时,它都会给出错误的结果。

  1. 知道如何进行比较吗?(实际上比较应该给出真实的结果)

  2. 知道如何将 SADI 插入SADI数据库。

两者都有望成为解决方案。

0 投票
1 回答
552 浏览

python - 为什么我不能规范化这个随机的 unicode 字符串?

我需要评估 unicode 字符串上的 levenshtein 编辑距离,这意味着需要对包含相同内容的两个字符串进行归一化以避免编辑距离产生偏差。

以下是我为测试生成随机 unicode 字符串的方法:

这是失败的简单测试用例:

这是错误:

我检查以确保它uni确实是一个 unicode 对象:

有人可以启发我吗?

0 投票
1 回答
19081 浏览

python - unicodedata.normalize(form, unistr) 是如何工作的?

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

返回Unicode 字符串unistr的范式。表单的有效值为“NFC”、“NFKC”、“NFD”和“NFKD”。

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

0 投票
0 回答
136 浏览

python - 如果字符串在 Unicode 3.2.0 NFD 中,将其组合成 Unicode 6.1.0 NFC 是否安全(使用 Python 3.3 的 unicodedata.normalize 函数)?

考虑 Python 3.3 中的这段代码:

最后一条语句是否保证有效?我想更好的问题是:Unicode 3.2.0 中是否有任何 NFD 序列未被 Unicode 6.1.0 覆盖(这是 Python 3.3 中的默认值)?

我意识到,在字节级别可能不bla完全相同\u0307 . 我认为只要看起来与最终用户相同,而不是看起来损坏/混乱,就可以了。foofoobla foo

0 投票
1 回答
1659 浏览

c++ - Unicode 规范化 C++ 源代码参考

我想在 C++ 中实现Unicode 规范化,特别是 NFKC。为此,我需要一些任何语言的参考源代码(prefarable C++)。

或者你可能会建议我如何开始我的实施。

0 投票
2 回答
2963 浏览

.net - 如何规范化字符串?

String.Normalize()在 .NET 中,您可以使用 枚举来规范化(NFC、NFD、NFKC、NFKD)字符串Text.NormalizationForm

在 .NET for Windows Store Apps 中,两者都不可用。我查看了String类和System.TextandSystem.Globalization命名空间,但什么也没找到。

我错过了什么吗?如何规范化 Windows 应用商店应用程序中的字符串?

有谁知道为什么该Normalize方法不适用于商店应用程序?

0 投票
1 回答
517 浏览

unicode - 规范和兼容性分解_映射值图表/表格

我一直致力于 NFKC 的Unicode 规范化。在第 1.3 节中,我发现了以下行-

对于 NFKC 或 NFKD,进行完全兼容性分解,它利用规范和兼容性 Decomposition_Mapping 值。

从哪里可以获得规范和兼容性的 Decomposition_Mapping 值?

0 投票
2 回答
285 浏览

unicode - 兼容性范式中的字符串是否已经处于相应的规范范式中?

我的测试告诉我,从 Unicode 6.2 开始,完全兼容性分解中的所有字符都具有 NFD_Quick_Check=Yes 属性。

这让我相信 isNFKD(x) 意味着 isNFD(x),而 isNFKC(x) 意味着 isNFC(x)。

我的结论正确吗?那么稳定性呢?这些含义是否保证适用于 Unicode 标准的未来版本?

0 投票
2 回答
1928 浏览

java - java.text.Normalizer:isNormalized() 返回 false,但 Normalize 不会更改字符串

我刚开始学习java.text.Normalizer. 这看起来很简单。我有一个“奇怪”的破折号要处理(特别是U+2013

我想把它转换成一个普通的破折号,所以我做了一些快速测试代码:

main() 的输出是“嘘!标准化的怪异破折号没有改变”

这怎么可能?这意味着 Normalizer.isNormalized 返回 false,但随后在同一个字符串(具有相同的 Normalizer.Form)上调用 normalize() 根本没有改变它。

我错过了什么?

编辑 此方法输出“真”:

所以,如果一切都失败了,我可以使用它。但是出于好奇,Normalizer 是怎么回事?

0 投票
2 回答
1711 浏览

c++ - 从 NFD 到 NFC 的 OSX 和 C++ unicode 转换

我从 OSX 文件系统获得的 NFD Unicode 字符串有问题。

这就是我在 OSX "A\xcc\x88" 上的 "Ä"-Umlaut 得到的,这也是我所期望的 "\xc3\x84"。在 Windows 下执行相同的功能(简单的 boost 文件系统操作,列出目录)。

搜索了一会,我发现Apple的NFD编码为UTF-8和世界其他地方的NFC。我尝试通过 NSStrings 或 boost::locale::normalize 进行转换,但没有成功。

有谁知道在 C++ 中执行此操作的方法(如有必要,我可以通过 obj-c 使用 Cocoa)?

之后我想将原始 unicode 字符串作为 std::string (使用 unicode 编码)。