例如,当我跑步时
var uts46 = require('punycode');
uts46.encode("💩⚽️🍊")
输出为:
xn--y8hw789ec0vgbfb
但是,当我在Chrome的地址栏中输入完全相同的表情符号字符串(“💩⚽️🍊”)时,它解析为
xn--y8h2559nb4a
Punycoder.com也解析为第二个字符串。
有谁知道这可能是为什么,以及如何更改punycode.js以产生Chrome字符串?
最佳答案
您可以使用idna-uts46包来获得类似Chrome的结果:
var uts46 = require('idna-uts46');
uts46.toAscii("💩⚽️🍊"); // produces "xn--y8h2559nb4a"