问题标签 [punycode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2543 浏览

.net - Amazon SES - 电子邮件地址中的非 ASCII 字符

我正在尝试使用适用于 .NET 和 SES 的 Amazon SDK 发送电子邮件。我有一封包含特殊字母的电子邮件,例如:

ęxąmplę@źćż.com

对于域部分,我阅读了有关 Punycode 的信息,并且效果很好。但是对于地址的本地部分,我似乎找不到解决方案:我尝试对整个电子邮件使用RFC 2047编码,但随后 SES 返回 'missing final @ domain' 错误,所以我尝试只编码一个本地部分,所以电子邮件将是

但这似乎也不起作用。有人成功解决了吗?

0 投票
1 回答
229 浏览

php - 如何检查punycode url?

我如何检查 php,以什么格式显示 url xn--d1acufc5f.xn--p1ai 或 домены.рф

我尝试使用$_SERVER['HTTP_HOST']但支持 punycode 的浏览器,http_host 不返回编码版本

0 投票
0 回答
139 浏览

javascript - Javascript - 使用 punycode.js 转换辅助表情符号 (UCS2) 时出现问题

当我运行 punycode.ucs2.decode

(“这是带有表情符号的消息⚽⛄)”)

我在代码中获得大于 0xFFFF (65536) 的数字。这给我带来了一个问题,因为我需要将其转换为填充的HexString。因此,当我收到那个表情符号时,我必须将字符串填充为 6 位数字。

文档中的第二组表情符号似乎正在发生这种情况。

http://www.unicode.org/Public/emoji/1.0/emoji-data.txt

中断的功能

0 投票
2 回答
167 浏览

perl - Punycode... 使用 Perl

使用 bash:

$ echo '\u043f\u0441\u0438\u0445\u043e\u0442\u0435\u0440\u0430\u043f\u0438\u044f.net' | ascii2uni -a U -q

психотерапия.net

如何用 perl 做到这一点?

返回:

$ perl test.pl

043f044104380445043e0442043504400430043f0438044f.net

0 投票
2 回答
162 浏览

perl - Perl:同形异义词攻击。可以比较 ascii / non-ascii 字符串,视觉上相似吗?

我遇到了这种所谓的“同形异义词攻击”,我想拒绝解码后的 punycode 在视觉上似乎只是字母数字的域。例如,www.xn--80ak6aa92e.com 将在浏览器 (Firefox) 中显示 www.apple.com。域在视觉上是相同的,但字符集是不同的。Chrome 已经对此进行了修补,并且浏览器会显示 punycode。

我有下面的例子。

视觉上是相同的,但它们不会匹配。可以将 unicode 字符串 ($IDN) 与字母数字字符串进行比较,视觉上是否相同?

0 投票
1 回答
129 浏览

ruby-on-rails - 正则表达式无法匹配 punycode url

我有转换为 punycode 的 url 后缀为 xn---- ruby​​ 库中存在的所有正则表达式都无法匹配。目前我正在使用 validates_url_format_of ruby​​ 库。示例网址:“ https://www.θεραπευτικη-κανναβη.com.gr ” Punycode 网址:“ https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr

那么您能否建议库中的正则表达式是否存在任何问题,或者问题在于转换为 punycode。

根据 punycode 转换规则,后缀始终是 xn--。所以任何人都可以建议额外的两个 - 在这里意味着什么

0 投票
1 回答
109 浏览

qt - QUrl 中的特殊字符将被转换为 punycode

我有一个文本字段,用户可以在其中添加 URL,我有一个文本字段,用户可以在其中添加 URL,QUrl::fromUserInput()然后将其放入列表中。如果我在 URL 中使用特殊字符,"http://blöd.de/"它将显示为,"http://blöd.de/"但如果我只输入"ö"它将被转换为 punycode "http://xn--nda/"

我尝试了每QUrl::FormattingOptions一个QUrl::ParsingMode

有人知道如何将这个 punycode 转换回特殊字符吗?为什么只有当我拥有顶级域时它才没有转换?

0 投票
0 回答
28 浏览

javascript - 这个 punycode 包含来自哪里?

昨天我正在使用 Visual Studio 2019 调试一个标准的 .Net MVC Web 应用程序。我在视图后面有一些 javascript,可以使用 jquery 异步加载一些下拉菜单。该视图基本上是完整的并且可以正常工作,但需要进行小幅修正。更正错字后,我重新启动了 chrome 中的视图,但它根本无法加载。chrome 中的调试控制台显示我有一个包含作为我的 js 文件的第一行。就是这条线;

包含来自 punycode 的 { encode }

我没有把它放在我的代码中。我从未使用过 punycode,也没有在我的机器上安装它。这个是从哪里来的?VS2019 是否将其作为调试的一部分放在那里?铬吗?

我开始对这种出现感到偏执,我找不到任何理由。

0 投票
0 回答
174 浏览

nginx - NGINX punycode 域仅适用于子域

我在 Ubuntu 18.04.3 上有一个 nginx 1.14.0。我在使用 punycode 域时遇到了一些问题,它仅适用于子域,例如 www.xn--bratwrste-u9a.de,但不适用于仅域,例如 xn--bratwrste-u9a.de 其他域,例如 example.com预期的。

我的默认服务器配置:

这里是虚拟服务器配置:

日志看起来不错:

error.log 中也没有错误

nginx 的文档没有给我任何问题的答案,并且单独列出服务器名称也没有什么不同。

感谢您的任何建议。

编辑:

解决方法:将重写规则添加到默认服务器:

奇怪的是,这有效,但 server_name 不...

0 投票
1 回答
99 浏览

domain-name - Punycode 域名 (UName) 是否存储使用的 IDN 表?

我创建了一个域名,例如:même.vip
我可以在数据库中看到,该域名已在 IDN 表中注册:“fr”。

但是,“ê”可以是葡萄牙语、挪威语等...

我试图了解谁在这里假设 IDN 表...

  • 我可以看到 EPP 事务 - 它没有使用 IDN 扩展,因此无法向服务器提供 IDN 表,即使它想要
  • 我无法访问填充该数据库记录的代码

因此,我最好的机会是知道 Punycode 域名是否包含有关使用哪个表的信息。如果不是:那么我知道它是数据库或注册表中的某些服务,在 EPP 命令之后。
(当然,如果 punycode 确实包含 IDN 表,那么我还有更多工作要做!)