0

在 JavaScript 中,我们可以使用以下代码行(使用 Unicode)来显示版权符号:

var x = "\u00A9 RPeripherals";

为什么我们不能直接使用ALT 代码 (alt+0169)键入版权符号,如下所示:

var x = "© RPeripherals" ;

这两种方法有什么区别?

4

2 回答 2

2

为什么我们不能直接使用 ALT 代码 (alt+0169) 键入版权符号,如下所示:

谁这么说的?当然可以。只需将您的代码编辑器配置为对源文件使用 UTF-8 编码。你不应该使用其他任何东西开始......

这两种方法有什么区别?

不同之处在于,使用该\uXXXX方案,您最多可以在线路上传输 2 个字节,最坏的情况是 5 个额外字节。如果您需要在源代码中嵌入字符,而您的字体无法正确显示,这种拼写可能会有所帮助。例如,我用于编程的字体中没有繁体中文字符,所以如果我在代码编辑器中输入中文字符,我会看到一堆带有 Unicode 码位数字的问号或矩形,而不是实际的人物。但是字体中有中文字形的人不会有这个问题。

如果我和那个人想要共享我们的源代码,最好让另一个人使用\uXXXX方案,因为我可以通过在 Unicode 表中查找来验证哪个字符是那个字符。这就是所有的区别。

编辑

ECMAScript 标准 (v 262/5.1) 明确指出

本标准的一致实现应解释符合 Unicode 标准 3.0 或更高版本和 ISO/IEC 10646-1 的字符,采用 UCS-2 或 UTF-16 作为采用的编码形式,实现级别 3。如果采用的 ISO /IEC 10646-1 子集没有特别说明,假定为BMP子集,集合300。如果采用的编码形式没有特别说明,则假定为UTF-16编码形式。

所以,标准保证字符编码是 Unicode,并强制使用 UTF-16(这很奇怪,我以为是 UTF-8),但我不认为这是在实践中发生的......我相信浏览器默认使用 UTF-8。也许这在后来的标准中有所改变,但这是最后一个被普遍接受的标准。

于 2012-09-30T18:58:58.450 回答
0

为什么我们不能直接直接输入版权符号

因为 JavaScript 引擎能够解析 UTF-8 编码的源文件。

这两种方法有什么区别?

一种是简短的,要求源文件以支持该字符的编码进行编码,并且要求您键入一个未打印在键盘按钮上的字符。

另一个(比较)长,可以完全用 ASCII 表示,并且可以使用标准键盘按钮上的字符进行输入。

于 2012-09-30T18:38:25.620 回答