Punycode 转换器

Unicode 域名转 Punycode,也可把 xn-- 标签还原成可读域名。

转换方向
域名
结果
粘贴域名即可转换。

你的域名文本会在浏览器本地转换,不会上传到 BroBroGo。

常见问题

Punycode 用来做什么?

Punycode 可以把含有 ü、例、भारत 等字符的域名表示成以 xn-- 开头的 ASCII 标签。

可以粘贴完整 URL 吗?

请只输入主机名或域名,例如 bücher.example 或 xn--bcher-kva.example,不要带 https://、路径、查询参数或片段。

为什么我的域名被拒绝?

合法主机名不能包含空格、空标签、标签开头或结尾的连字符,也不能在转换后超过标签长度限制。

Punycode 在国际化域名中的作用

在互联网早期,域名系统(DNS)仅支持 ASCII 字符集。随着全球互联网的发展,非英语母语用户需要使用本国语言的域名。为了在不修改现有 DNS 基础设施的前提下支持这些非 ASCII 字符(例如 üभारत),国际化域名(IDN)标准应运而生。

Punycode 是一种专门的传输编码语法。它能够将包含非 ASCII 字符的 Unicode 字符串,转换为完全由 ASCII 字符、数字以及连字符组成的受限表示形式。通过这种机制,浏览器和网络系统可以将多语言域名无缝解析为标准的 DNS 记录。

Punycode 标签的结构特征

所有经过 Punycode 编码的域名标签都具有特定的前缀结构。每个非 ASCII 标签在转换后,都会以 xn-- 开头。

例如,德语词汇 bücher 在经过 Punycode 编码后会变成 xn--bcher-kva。在这个结构中:

  • xn-- 是 ASCII 兼容编码(ACE)前缀,用于向 DNS 解析器声明该标签需要被解码为 Unicode。
  • 随后的字符是经过特定算法编码后的 ASCII 序列,它完整保留了原始 Unicode 字符及其在字符串中的位置信息。

域名与完整 URL 的区别

在使用本转换器时,必须严格区分域名(主机名)与完整的统一资源定位符(URL)。

  • 域名/主机名:指网络主机的具体名称,例如 bücher.examplexn--bcher-kva.example
  • 完整 URL:包含传输协议(如 https://)、端口号、目录路径、查询参数或网页片段(如 ?query=1#fragment)。

本工具仅对域名进行 Punycode 转换。输入内容中如果包含协议头、路径或参数,将导致解析失败。

转换规则与输入限制

为了确保转换结果符合 DNS 规范,输入数据必须遵循以下格式要求与限制:

  • 字符长度限制:输入内容的最大长度限制为 10,000 个字符。
  • 禁止的格式:输入中不得包含空格、空标签(例如连续的两个点 ..)、标签开头或结尾的连字符(如 -example.comexample-.com)。
  • 单末尾点保留:工具支持并会保留域名末尾的单个点(例如 example.com.)。
  • 长度溢出:转换后的单个域名标签如果超过 DNS 规定的长度限制,将被判定为无效输入。

浏览器本地处理与隐私保护

本工具在设计上完全保障用户的隐私。所有的域名转换计算均在用户的浏览器本地完成,没有任何数据会被上传到 BroBroGo 服务器。

当你在输入框中键入或粘贴文本时,JavaScript 脚本会立即在本地执行转换逻辑并输出结果。

常见问题解答

Punycode 用来做什么?

Punycode 可以把含有 ü、例、भारत 等字符的域名表示成以 xn-- 开头的 ASCII 标签。

可以粘贴完整 URL 吗?

请只输入主机名或域名,例如 bücher.example 或 xn--bcher-kva.example,不要带 https://、路径、查询参数或片段。

为什么我的域名被拒绝?

合法主机名不能包含空格、空标签、标签开头或结尾的连字符,也不能在转换后超过标签长度限制。