Unicode

协议和标准
用于一致编码和处理大多数世界书写系统文本的计算标准。
← 返回词汇表

什么是Unicode?

Unicode是用于在大多数世界书写系统中一致编码、表示和处理文本的通用计算标准。在域名行业中,Unicode通过包含非拉丁字符 (如中文、阿拉伯语、西里尔文和其他脚本) 的国际化域名 (IDN) 实现。Unicode为每个字符跨所有语言分配唯一的代码点,确保跨不同系统的一致表示。

Unicode在域名中

IDN支持

Unicode使以下域名成为可能:

Punycode转换

DNS使用ASCII,所以Unicode域名转换为Punycode:

Unicode:münchen.de

Punycode:xn--mnchen-3ya.de

Unicode:北京.中国

Punycode:xn--1lq90i.xn--fiqs8s

Unicode代码点

结构

格式:U+XXXX (十六进制)

示例:

A = U+0041 (拉丁A)

а = U+0430 (西里尔a)

中 = U+4E2D (中文字符)

字符块

范围脚本
基本拉丁U+0000-007F英文/ASCII
西里尔U+0400-04FF俄语等
阿拉伯U+0600-06FF阿拉伯语
CJKU+4E00-9FFF中文/日文/韩文

安全考虑

同形体攻击

来自不同脚本的看起来相似的字符:

拉丁 'a' (U+0061) 对 西里尔 'а' (U+0430)

拉丁 'o' (U+006F) 对 西里尔 'о' (U+043E)

攻击:аpple.com (西里尔'а') 看起来像 apple.com

浏览器保护

浏览器可能会对可疑的混合脚本域名显示Punycode。

Unicode规范化

表示相同字符的不同方式:

é = U+00E9 (预合成)

é = U+0065 + U+0301 (分解:e + 结合重音)

规范化形式:NFC, NFD, NFKC, NFKD

Unicode对全球互联网可访问性至关重要,使世界各地的用户能够用本地脚本和语言注册和访问域名。

将知识付诸实践

使用 DomScan 的 API 检查域名可用性、健康状态等。