javascript - 如何将unicode字符串转换为ascii [重复]
Posted
技术标签:
【中文标题】javascript - 如何将unicode字符串转换为ascii [重复]【英文标题】:javascript - how to convert unicode string to ascii [duplicate] 【发布时间】:2011-01-02 22:28:40 【问题描述】:如何将 unicode 字符串转换为 ascii 为友好的 url 创建一个漂亮的字符串?
【问题讨论】:
***.com/questions/626792/…***.com/questions/286921/… 和谷歌的“音译” 替换重音字符不能回答这个问题。 ㏒(对数)、‰(每千分之一)、€(欧元)、␀/␆(nul/ack)、♻(循环)、∴(因此)等字符不受任何重音字母变得无重音的影响,但仍然不好友好的 url 字符,直到它们被 url-safe ascii 替换。这个问题比那个问题要广泛得多。 【参考方案1】:只有short list of characters 可以在 URL 的路径组件中安全地传递。
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
必须删除所有其他字符(如果您正在创建“slug”)或转义。
可以使用正则表达式/[^a-zA-Z0-9-._~]/
进行删除。
可以使用encodeURIComponent()
进行转义。
如果您希望实现相当于 ICONV 的音译(即将 é
转换为 e
和 €
转换为 EUR
),您必须自己做,尽管您可以 leverage existing solutions并可能将transliteration table 转换为 JS 格式。
【讨论】:
为我工作!与其他方法相比也很容易。以上是关于javascript - 如何将unicode字符串转换为ascii [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 Javascript 中字符的 Unicode 代码点?
如何检查 Javascript 中 Unicode 字符串的相等性?