问题标签 [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 回答
18197 浏览

javascript - 将带有破折号字符的 punycode 转换为 Unicode

我需要将 punycode 转换NIATO-OTABDnñiñatoñ.

前几天我在 JavaScript中找到了一个文本转换器,但是如果中间有一个破折号,那么 punycode 转换就不起作用。

有什么建议可以解决“破折号”问题吗?

0 投票
2 回答
2378 浏览

c# - 将非 ascii 域转换为 SMTP 兼容

当客户输入带有非 ascii 字符(如 äüö)的电子邮件地址时,我们的 SMTP 拒绝处理它们。

所以我认为可能有一种解决方案可以自己处理这些域并将它们转换为 punyocode。

有没有使用 c# 的简单方法?

无论如何,这行得通吗?

0 投票
6 回答
1306 浏览

encoding - ASCII 编码 UTF-8 的有效方法

我正在寻找一种简单有效的方法来将 UTF-8 字符串存储在 ASCII-7 中。高效我的意思是:

  • 输入中的所有 ASCII 字母数字字符应在输出中保持相同的 ASCII 字母数字字符
  • 结果字符串应尽可能短
  • 该操作需要是可逆的,不会丢失任何数据
  • 生成的 ASCII 字符串应该不区分大小写
  • 输入长度应该没有限制
  • 应该允许整个 UTF-8 范围

我的第一个想法是使用 Punycode (IDNA),因为它符合前四个要求,但在后两个方面失败了。

谁能推荐一种替代编码方案?如果有一些代码可供查看,那就更好了。

0 投票
4 回答
4698 浏览

php - 将字符串转换为 puny 代码时出现问题(在 PHP 中,使用 phlyLabs 的 punycode 字符串转换器)

我正在使用这里的代码:http: //phlymail.com/en/downloads/idna/download/并构建了一个这样的函数(来自示例):

但是它不能正常工作。

我究竟做错了什么?正在传递的 $inputstring 是没有特殊声明/等的普通字符串...

0 投票
1 回答
6144 浏览

php - 如何在 php 中对来自 IDN 的 URL 进行编码和解码?

我正在做一个网站来检查、注册等域,我必须使其符合 IDN。现在我有这样的事情:

我得到了这个:

testing123ásd123 xn--testing123sd123-wjb testing123ĂĄsd123

如您所见,解码后的字符串与原始字符串不同,我还尝试使用http://phlymail.com/en/downloads/idna/download/的类来执行此操作,并且得到相同的结果

我试过使用:

我得到了完全一样的(除了编码的字符串略有不同)

有任何想法吗?

编辑:问题解决了!在将字符串转换为 puny 代码时遇到此问题(在 PHP 中,使用 phlyLabs 的 punycode 字符串转换器) 原始字符串在 iso-8859-2 中并在 UTF-8 中解码,现在我需要找到如何使其成为 iso-8859- 2 再次,但谷歌可以帮助我。有什么模组吗?我该怎么处理这个问题?关闭它,删除它?就这样吧?

0 投票
5 回答
2638 浏览

url - 如何将带有希腊字符的域名转换为 ascii URL?

例如:

当在 Firefox 中输入 παιχνιδια.com 时,它会自动转换为 xn--kxadblxczv9d.com

请建议一种进行此类转换的工具。


最简单的方法之一就是这个。同时转换和检查可用性。

0 投票
1 回答
1841 浏览

c# - C# 中的 Punycode 转换器

我需要一个用于 Silverlight 的 punycode 转换器。对于 WPF 在标准库中有这样的机会。我需要一个现成的库或函数代码(punycode 编码和解码){C#,Silverlight}。

0 投票
0 回答
615 浏览

ruby-on-rails - 将带有 punycode 的转义 url 转换为 utf,重构

我想将我所有的 url 存储在 readble utf8 中

重构或更通用的宝石的任何提示?

0 投票
2 回答
223 浏览

cocoa-touch - Cocoa 的 CFHost 是否支持 IDN?

WINAPI 具有将 Unicode 主机名转换为 Punycode 的方法。Cocoa/Cocoa Touch 有类似的机制吗?

0 投票
5 回答
8697 浏览

email - punycode 编码的电子邮件地址会与“真实”地址发生冲突吗?

问题是这样的:我使用的第三方电子邮件递送服务不接受名称部分包含非 ASCII 字符的邮件地址,例如 müller@example.com 。

用 Punycode 编码这样的地址:

http://en.wikipedia.org/wiki/Punycode

http://idnaconv.phlymail.de/index.php?decoded=m%C3%BCller%40example.com&idn_version=2008&encode=Encode+%3E%3E&lang=de

产生这个地址:

xn--mller-kva@example.com

通过该服务向它发送邮件似乎可行。

但是,我不确定是否有人不能直接注册“xn--mller-kva@example.com”,从而接收到“müller@example.com”的电子邮件。

这有可能发生冲突吗?这个问题还有其他解决方案吗?

更新

感谢您的回答。以下是我们学到的总结:

  • Punycoding 电子邮件地址的本地部分有效,您可以从这样的编码地址发送和接收(当然)
  • 但是,完全不能保证提供商或邮件客户端会理解编码,或者会自动进行编码。因此,冲突是可能的,整个想法不是一个好主意:)
  • 一个人应该简单地做其他人所做的事情,即按照规范不允许或接受非 ASCII 名称部分
  • 最后,事实证明第三方服务无论如何都禁止这种恶作剧。