JavaScript中字符与Unicode编码的相互转换

技术 · 02-27 · 189 人浏览

请输入图片描述
字符编码与解码

在JavaScript中,字符和它们对应的Unicode编码值之间可以相互转换。这种转换在处理文本数据时非常有用,尤其是在需要了解字符的底层表示或进行特定编码操作时。

从编码到字符

如果你有一组Unicode编码值,并且希望将这些值转换为其对应的字符,可以使用String.fromCharCode()方法。这个方法接受一个或多个数字作为参数,并返回这些数字对应的Unicode字符组成的字符串。

下面是一个例子,我们将一组数字(实际上是字母“HELLO”中每个字母的Unicode编码值)转换为字符串:

let encodedValues = [72, 69, 76, 76, 79]; // 注意这里是一个数组
let decodedString = String.fromCharCode(...encodedValues); // 使用扩展运算符将数组元素作为参数传递
console.log(decodedString);
// 结果:HELLO

从字符到编码

如果你有一个字符,并想知道它的Unicode编码值,可以使用String.prototype.charCodeAt()方法。这个方法返回一个字符在字符串中的位置(基于0的索引)处的Unicode编码值。如果字符串只有一个字符,那么它返回的就是这个字符的编码值。

下面是一个例子,我们将字符“h”转换为它的Unicode编码值:

let character = 'h';
let encodedValue = character.charCodeAt(0); // 注意索引是0,因为字符串只有一个字符
console.log(encodedValue);
// 结果:104

在上面的例子中,我们明确指定了索引0,但通常对于单个字符的字符串来说,可以省略这个索引,因为charCodeAt()方法默认会返回第一个字符的编码值。然而,为了代码的清晰性和健壮性(特别是在处理可能包含多个字符的字符串时),明确指定索引是一个好习惯。

JS