码点:表示与编码表中某个符号对应的代码值。
在Unicode标准中,码点采用十六进制书写,并加上前缀U+,例如U+0041
就是拉丁字母A
的码点Unicode的码点可以分为17个级别。
第1级别(基本的多语言级别):++U+0000~U+FFFF++,包含常用经典Unicode码。
第2到17级别:++U+10000~U+10FFFF++,包含一些辅助字符。
UTF-16
采用不同长度的及编码标识所有Unicode码点。
在第1级别:占2字节,每个字符用16位表示,即通常成为代码单元
辅助字符(2~17级别):占4字节,采用一堆连续的代码单元进行编码,这样构成的编码值落入基本多语言级别中空闲的2048字节内(替代区域),这样就可以用有限的编码数表示更多的符号。
例:码点为U+1D546
的数学符号使用两个代码单元U+D835
和U+DD46
表示。
避免注释中的\u
注意:
Unicode转义序列会在解析代码之前得到处理。
例1
: "\u0022+\u0022"
并不是一个包含加号
和\u0022
符号的字符串。
实际上,\u0022
会在解析前转换为"
符号,就会得到""+""
,也就是说"\u0022+\u0022"
最终是一个空字符串,与""
等效。
例2
:
下面的注释会产生一个语法错误,因为读程序时\u00A0
会替换成一个换行符
// \u00A0 is a newline
例3
:下面的注释也会产生一个语法错误,因为\u
后面并未跟着4个十六进制数,解读为字符的时候失败了
// Look inside c:/user