【问题标题】:Is there known URI scheme or URN namespace for Unicode characters?Unicode 字符是否存在已知的 URI 方案或 URN 命名空间?
【发布时间】:2012-07-26 20:11:15
【问题描述】:
我需要使用 URI 引用 Unicode 字符。以下 IANA 参考文献列出了多个方案和命名空间,但未提及任何有关 Unicode 字符标识符的内容。有谁知道这样的东西是否已经存在?
我希望能找到类似的东西
unicode://U+0394
urn:unicode://0394
http://unicode.org/unicode/0394
为希腊大写字母 delta Δ。
如果有人想知道,这是一个语义网之类的应用程序,它使用 URI 作为概念的标识符,包括 Unicode 字符的概念。
【问题讨论】:
标签:
url
unicode
uri
semantic-web
urn
【解决方案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 字符的简单列表。缺少一些即将出现的字符 (㋿),您应该期望它是可变的。
内容如下所示,按原样使用不太实用。
$ 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 “基于哈希”的命名空间,但这绝对是非标准的。