如何在浏览器控制台或Node.js REPL中将字符串转换为Unicode编码表示
字符串转Unicode转义序列实现方案
没有内置的全局同名方法可以直接调用,但可以通过原生API快速实现,同时浏览器和Node.js环境也各有更便捷的使用方式:
通用跨环境实现
以下代码可同时在浏览器控制台和Node.js REPL中运行:
// 定义转换函数 function toUnicodeEscape(str) { return [...str].map(char => { // 取字符Unicode码点,转16进制,补前导0到4位 const hex = char.charCodeAt(0).toString(16).toUpperCase().padStart(4, '0'); return `\\u${hex}`; }).join(''); }
运行效果符合需求:
> toUnicodeEscape('Hello') "\u0048\u0065\u006C\u006C\u006F"
各环境专属简便方法
Node.js REPL环境
可以直接用内置util模块的inspect方法,无需自定义函数:
const util = require('util'); util.inspect('Hello', { unicodeEscape: true }) // 输出 '\u0048\u0065\u006C\u006C\u006F'
注:unicodeEscape配置项在Node.js v12及以上版本支持。
浏览器控制台临时使用
如果只是单次转换不想定义函数,直接运行单行代码即可:
'Hello'.split('').map(c => '\\u' + c.charCodeAt(0).toString(16).toUpperCase().padStart(4, '0')).join('')
特殊字符兼容说明
如果需要处理超过BMP平面的Unicode字符(如emoji、生僻汉字等),可以将charCodeAt替换为codePointAt,并根据码点长度调整输出格式即可。
内容的提问来源于stack exchange,提问作者user3310334
相关产品推荐
相关产品推荐

