Unicode 字符是不是存在已知的 URI 方案或 URN 命名空间?
Posted
技术标签:
【中文标题】Unicode 字符是不是存在已知的 URI 方案或 URN 命名空间?【英文标题】:Is there known URI scheme or URN namespace for Unicode characters?Unicode 字符是否存在已知的 URI 方案或 URN 命名空间? 【发布时间】:2012-07-26 20:11:15 【问题描述】:我需要使用 URI 引用 Unicode 字符。以下 IANA 参考文献列出了多个方案和命名空间,但未提及任何有关 Unicode 字符标识符的内容。有谁知道这样的东西是否已经存在?
http://www.iana.org/assignments/uri-schemes.html http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xml我希望能找到类似的东西
unicode://U+0394
urn:unicode://0394
http://unicode.org/unicode/0394
为希腊大写字母 delta Δ。
如果有人想知道,这是一个语义网之类的应用程序,它使用 URI 作为概念的标识符,包括 Unicode 字符的概念。
【问题讨论】:
【参考方案1】:由于这也被标记为semantic-web,我将尝试选择易于(且永久)取消引用且不会被误认为描述该字符的文档的 URI:data:
方案。不仅可以引用 Unicode 中的字符,还可以引用任何编码,以及其中的任何字符串。
data:;charset=utf-8,%CE%94
尝试打开此 URI 应该会生成一个 text/plain
文件,其中包含单个字符作为其内容。
如果系统接受 IRI(就像许多语义 Web 应用程序一样),则可以直接包含字符:
data:;charset=utf-8,Δ
这映射到与上图相同的 URI,您的浏览器可能会直接转换它。在这种情况下,必须指定 UTF-8,因为没有为其他编码定义映射。
【讨论】:
【参考方案2】:[编辑]:找到符合您需求的网址:http://unicode.org/cldr/utility/character.jsp?a=1F40F
.
嗯,有一个 URL 引用了 Unicode 数据库上的权威信息,即使它没有描述(如另一个答案中所说)一个特定字符的所有信息。
您有以下 URL,指向最新的 Unicode 数据库。这是现有有效 Unicode 字符的简单列表。缺少一些即将出现的字符 (㋿),您应该期望它是可变的。
https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt内容如下所示,按原样使用不太实用。
$ grep -ai kangaroo UnicodeData.txt -C 7
1F991;SQUID;So;0;ON;;;;;N;;;;;
1F992;GIRAFFE FACE;So;0;ON;;;;;N;;;;;
1F993;ZEBRA FACE;So;0;ON;;;;;N;;;;;
1F994;HEDGEHOG;So;0;ON;;;;;N;;;;;
1F995;SAUROPOD;So;0;ON;;;;;N;;;;;
1F996;T-REX;So;0;ON;;;;;N;;;;;
1F997;CRICKET;So;0;ON;;;;;N;;;;;
1F998;KANGAROO;So;0;ON;;;;;N;;;;;
1F999;LLAMA;So;0;ON;;;;;N;;;;;
1F99A;PEACOCK;So;0;ON;;;;;N;;;;;
1F99B;HIPPOPOTAMUS;So;0;ON;;;;;N;;;;;
1F99C;PARROT;So;0;ON;;;;;N;;;;;
1F99D;RACCOON;So;0;ON;;;;;N;;;;;
1F99E;LOBSTER;So;0;ON;;;;;N;;;;;
1F99F;MOSQUITO;So;0;ON;;;;;N;;;;;
您可以使用这样的后缀构建一个 hacky “基于哈希”的命名空间,但这绝对是非标准的。
https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt#1F998【讨论】:
【参考方案3】:恐怕一般来说,没有 URL 或 URN 来引用有关 Unicode 字符的权威信息。在 Unicode 标准中,有关单个字符的信息部分位于所谓的字符数据库(主要是特定格式的纯文本文件)中,部分位于代码图表(PDF 文件)中。它们都没有提供指向单个角色的方法。此外,那里的信息并不详尽:关于散落在标准周围的个别字符信息的重要注释。
Decodeunicode 站点具有可单独寻址的项目,例如
http://www.decodeunicode.org/en/u+0394
但它的信息内容变化很大,而且通常非常有限。它不是官方的,目前仅包含 Unicode 5.0。
Fileformat.info 网站更加系统化,但它也是非官方的。它基本上仅限于形式属性和可从它们派生的数据,以及从代码图表中提取的 cmets,以及在 Windows 中键入字符的说明,以及有关字体支持的信息——但数量相当多!示例:
http://www.fileformat.info/info/unicode/char/0394/
【讨论】:
以上是关于Unicode 字符是不是存在已知的 URI 方案或 URN 命名空间?的主要内容,如果未能解决你的问题,请参考以下文章
计算机科学-ASCII, Unicode & UTF-8 (in Python)