如何在 JavaScript 警报函数中使用 UTF-8 文字?
How to use UTF-8 literals in JavaScript alert functions?
假设我们有一个 UTF-8 字符串(由字符形式的十六进制字节字符串表示),其中可能包含表情符号或任何其他 Unicode 字符。我们如何将字符串表示为 JavaScript 中的文字,以便在 alert
函数中使用?在PHP中,有两种简单的方法:(1)"\xE2\x96\xB6"
(2)hex2bin('E296B6')
。我在纯 JavaScript 中做同样的事情时遇到了麻烦。 '\xE2\x96\xB6'
似乎不起作用(它在 alert
函数中显示段落标记而不是直角实心三角形)。
我想写一个 'hex2bin' 函数来 return 作为十六进制字节字符串的参数,但是 JavaScript 没有这样的数据类型。在 PHP 中,字符串可以包含任何位模式,但我认为 JavaScript 不是这样。
我知道 JavaScript 是一种支持 Unicode 的现代语言,所以一定有一种简单的方法可以做到这一点。
请注意,任何谈论 \u
构造的答案都是错误的,因为 \u 不接受 UTF-8 字符串。 UTF-8 目前是大多数字符串存储的标准和建议,但大多数编程语言还没有为 UTF-8 字节字符串提供简单的文字语法。
当程序员谈论 Unicode 的低级表示时,他们通常对 UTF-8 感兴趣,因为它是一种标准且高效的编码。 UTF-16 和 Unicode 代码点(以及许多奇怪的编码)很有趣,特别是对于命名字符(U+HHHH
表示法)和以固定宽度表示它们。但 UTF-8 才是标准,我们需要 Stack Overflow 上的更多答案来帮助我们使用 UTF-8。
您可以使用 decodeURIComponent
,当前缀为“%”时,它可以识别 UTF8 十六进制代码:
console.log(decodeURIComponent("%E2%96%B6"));
假设我们有一个 UTF-8 字符串(由字符形式的十六进制字节字符串表示),其中可能包含表情符号或任何其他 Unicode 字符。我们如何将字符串表示为 JavaScript 中的文字,以便在 alert
函数中使用?在PHP中,有两种简单的方法:(1)"\xE2\x96\xB6"
(2)hex2bin('E296B6')
。我在纯 JavaScript 中做同样的事情时遇到了麻烦。 '\xE2\x96\xB6'
似乎不起作用(它在 alert
函数中显示段落标记而不是直角实心三角形)。
我想写一个 'hex2bin' 函数来 return 作为十六进制字节字符串的参数,但是 JavaScript 没有这样的数据类型。在 PHP 中,字符串可以包含任何位模式,但我认为 JavaScript 不是这样。
我知道 JavaScript 是一种支持 Unicode 的现代语言,所以一定有一种简单的方法可以做到这一点。
请注意,任何谈论 \u
构造的答案都是错误的,因为 \u 不接受 UTF-8 字符串。 UTF-8 目前是大多数字符串存储的标准和建议,但大多数编程语言还没有为 UTF-8 字节字符串提供简单的文字语法。
当程序员谈论 Unicode 的低级表示时,他们通常对 UTF-8 感兴趣,因为它是一种标准且高效的编码。 UTF-16 和 Unicode 代码点(以及许多奇怪的编码)很有趣,特别是对于命名字符(U+HHHH
表示法)和以固定宽度表示它们。但 UTF-8 才是标准,我们需要 Stack Overflow 上的更多答案来帮助我们使用 UTF-8。
您可以使用 decodeURIComponent
,当前缀为“%”时,它可以识别 UTF8 十六进制代码:
console.log(decodeURIComponent("%E2%96%B6"));