我在手机上闲逛,决定尝试在谷歌浏览器的网址栏中添加一个表情符号。我输入😀.com,表情符号相当于unicode U+1F600
。 Chrome 最终将其评估为 http://xn--e28h.com/
,这将我带到“网页不可用”屏幕 (ERR_NAME_NOT_RESOLVED
)。我在 godaddy 上查找了 xn--e28h
,它不可用。
这是我的问题:
- 为什么😀变成了xn--e28h?我看不出与 unicode 有任何关系。
- 为什么这种格式的域在 godaddy 上不可用?
- 额外的问题:为什么我们不能将表情符号放在域名中?
最佳答案
DNS 使用一种特殊的方式将 Unicode 编码为 ASCII。
xn--
前缀表示它是一个编码名称,并且由于在这种情况下整个名称是一个 Unicode 代码点,其余部分看起来难以理解。您可以开始阅读更多相关信息 here .大多数(如果不是全部的话)顶级域都有规则允许在该 TLD 中使用哪些 Unicode 字符作为名称。例如,
.SE
只允许使用瑞典官方语言之一的那些字符。这完全是政策问题,所以“为什么”变得模糊。见 2.
关于ios - 域名中的表情符号 - iOS chrome 中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489950/