首页 > 解决方案 > 使用 JavaScript 转义字符串中的所有 Unicode(非 ASCII)字符

问题描述

标签: javascriptunicode

解决方案


此函数在以“unicode-safe”方式(使用 )拆分字符串后匹配所有非 ASCII 字符[...str]。然后它将每个 unicode 字符拆分为其代码点,并获取每个字符的转义码,然后将所有 ASCII 字符和 Unicode 转义码连接成一个字符串。

function escapeUnicode(str) {
   return [...str].map(c => /^[\x00-\x7F]$/.test(c) ? c : c.split("").map(a => "\\u" + a.charCodeAt().toString(16).padStart(4, "0")).join("")).join("");
}

推荐阅读