1 回答

TA贡献1829条经验 获得超13个赞
String.prototype.charCodeAt(...)仅当字符串仅包含ASCII字符时才能正常工作。TextEncoder如果要处理其他字符,则必须使用标准:
const te = new TextEncoder('utf-8')
function toBinaryRepr(str) {
return Array.from(te.encode(str))
.map(i => i
.toString(2)
.padStart(8, '0'))
.join(' ')
}
// '01100001 01100010 01100011'
toBinaryRepr('abc')
// '01000000 11000010 10101001 11000010 10101110'
toBinaryRepr('@©®')
// '11110000 10011111 10011000 10000000 11110000 10011111 10011000 10000100'
toBinaryRepr('??')
警告:TextEncoder在较旧的Node.js版本中不是全局构造函数-如果出现TextEncoder未定义的错误提示,请尝试通过以下方式将其导入:
const { TextEncoder } = require('util')
添加回答
举报