String 对象提供了一些函数来处理字符编码。
Unicode 码点到字符
String.fromCharCode()
String.fromCharCode 方法用于从一组 Unicode 码点创建一个字符串。每个码点是一个 16 位的整数(0 到 65535)。
语法
String.fromCharCode(num1, ..., numN)
参数
num1, ..., numN:一个或多个 Unicode 码点。
示例
console.log(String.fromCharCode(65, 66, 67)); // 输出 "ABC"
console.log(String.fromCharCode(72, 101, 108, 108, 111)); // 输出 "Hello"
String.fromCodePoint()
String.fromCodePoint 方法类似于 String.fromCharCode,但它可以处理超过 65535 的 Unicode 码点(即补充字符)。
语法
String.fromCodePoint(num1, ..., numN)
参数
num1, ..., numN:一个或多个 Unicode 码点。
示例
console.log(String.fromCodePoint(65, 66, 67)); // 输出 "ABC"
console.log(String.fromCodePoint(128512)); // 输出 "😀" (笑脸表情符)
字符到 Unicode 码点
String.prototype.charCodeAt()
charCodeAt 方法返回指定位置的字符的 Unicode 码点。
语法
str.charCodeAt(index)
参数
index:一个整数,表示字符串中字符的位置(从 0 开始)。
示例
let str = "Hello";
console.log(str.charCodeAt(0)); // 输出 72 (字符 "H" 的 Unicode 码点)
console.log(str.charCodeAt(1)); // 输出 101 (字符 "e" 的 Unicode 码点)
String.prototype.codePointAt()
codePointAt 方法返回指定位置的字符的 Unicode 码点,支持补充字符。
语法
str.codePointAt(index)
参数
index:一个整数,表示字符串中字符的位置(从 0 开始)。
示例
let str = "😀";
console.log(str.codePointAt(0)); // 输出 128512 (笑脸表情符的 Unicode 码点)