JavaScript String fromCodePoint() 方法



JavaScript String fromCodePoint() 方法返回由指定的码位值序列创建的字符串。可以将一个或多个 Unicode 码位值传递给此方法。如果传递的值不是整数、小于 0(或负数)或大于 0x10FFFF,它将引发 RangeError 异常。此方法是静态的,可以使用类语法(如 String.fromCodePoint())调用,而不是在变量上调用它。

Unicode 码位是与 Unicode 标准中的特定字符相对应的数值。每个字符和符号都有自己唯一的 Unicode 码位值。

语法

以下是 JavaScript String fromCodePoint() 方法的语法 -


 String.fromCodePoint(num1, num2, /*..., */ numN)

参数

此方法接受多个相同类型的参数,例如 'num1'、'num2'、'num3' 到 'numN',如下所述 -

  • num1, num2....numN − 它是一个整数值,表示 [0, 0x10FFFF] 范围内的 Unicode 码位。

返回值

此方法返回由指定代码点序列创建的字符串。

示例 1

如果我们将单个 Unicode 码位值传递给此方法,它将返回一个只有一个字符的字符串。

在下面的示例中,我们使用 JavaScript String fromCodePoint() 方法来检索由指定的 Uni 码位值 65 创建的字符串。


<html>
<head>
<title>JavaScript 字符串 fromCodePoint() 方法</title>
</head>
<body>
<script>
	 	const unicodepoint = 65;
	 	document.write("统一编码点: ", unicodepoint);
	 	document.write("<br>uni码点 ", unicodepoint, " 代表 ", String.fromCodePoint(unicodepoint));
</script>
</body>
</html>

输出

上面的程序返回一个字符串 “A”。

统一编码点: 65
uni码点 65 代表 A

示例 2

如果传递了多个 Unicode 值,该方法将返回包含多个字符的字符串。

以下是 JavaScript String fromCodePoint() 方法的另一个示例。我们使用此方法检索包含由指定 uni 码序列 81、105、107、101、112、117、67、111、109 创建的多个字符的字符串。


<html>
<head>
<title>JavaScript 字符串 fromCodePoint() 方法</title>
</head>
<body>
<script>
         const num1 = 81;
         const num2 = 105;
         const num3 = 107;
         const num4 = 101;
         const num5 = 112;
         const num6 = 67;
         const num7 = 111;
         const num8 = 109;
         document.write("统一码点值为: ", num1, ", ", num2, ", ", num3, ", ", num4, ", ", num5, ", ", num6, ", ", num7, ", ", num7, ", ", num8);
         document.write("<br>已创建字符串: ", String.fromCodePoint(num1, num2, num3, num4, num5, num6, num7, num8));
</script>
</body>
</html>

输出

执行上述程序后,它将返回一个新字符串 “QikepuCom”。

统一码点值为: 81, 105, 107, 101, 112, 67, 111, 111, 109
已创建字符串: QikepCom

示例 3

如果 numN 不是整数、小于零或大于 0x10FFFF,它将引发 'RangeError' 异常。


<html>
<head>
<title>JavaScript 字符串 fromCodePoint() 方法</title>
</head>
<body>
<script>
	 	const unicodepoint = -2;
	 	document.write("统一编码点: ", unicodepoint);
	 	try {
	 	 	 document.write("已创建字符串: ", String.fromCodePoint(unicodepoint));
	 	} catch (error) {
	 	 	 document.write("<br>", error);
	 	}
</script>
</body>
</html>

输出

执行上述程序后,它将引发 'RangeError' 异常。

统一编码点: -2
RangeError: Invalid code point -2

示例 4

在下面给定的示例中,我们在 from 循环中使用 fromCodePoint() 方法检索一个字符串,其中包含由传递给该方法的数字一一创建的所有大写字母,循环从 65 开始迭代到 90。


<html>
<head>
<title>JavaScript 字符串 fromCodePoint() 方法</title>
</head>
<body>
<script>
	 	const unicodepoint_start = 65;
	 	document.write("Unicode起始于: ", unicodepoint_start);
	 	document.write("<br>新建字符串: ");
	 	for(let i = unicodepoint_start; i<=90; i++){
	 	 	 document.write(String.fromCodePoint(i));
	 	}
</script>
</body>
</html>

输出

上面的程序返回一个包含所有大写字母的字符串 -

Unicode起始于: 65
新建字符串: ABCDEFGHIJKLMNOPQRSTUVWXYZ