JSP 中的特殊字符表示问题
Special characters representation issue in JSP
在JSP文件中,源代码为
|1€3|<%="\u0031\u0080\u0033" %>|
页面上的结果是:
|1€3|13|
为什么欧元符号的表示方式不同?
0x80–0x9F 范围内的 HTML 数字字符引用实际上并不对应字符 U+0080–U+009F。相反,它们引用从 windows-1252 编码映射到字节 0x80–0x9F 的字符。
这是浏览器使用 Unicode 之前的日子里的一个奇怪的历史产物。 HTML5 对它进行了标准化,因为尽管它是无效的解析器 required 以这种方式解析它。这不会发生在 XML/XHTML.
所以 \u0080
给你实际的字符 U+0080,你看不到因为它是一个不可见的控制字符,但是 €
给你代码页 1252 字节 0x80,这是 U +20AC 欧元符号。
在JSP文件中,源代码为
|1€3|<%="\u0031\u0080\u0033" %>|
页面上的结果是:
|1€3|13|
为什么欧元符号的表示方式不同?
0x80–0x9F 范围内的 HTML 数字字符引用实际上并不对应字符 U+0080–U+009F。相反,它们引用从 windows-1252 编码映射到字节 0x80–0x9F 的字符。
这是浏览器使用 Unicode 之前的日子里的一个奇怪的历史产物。 HTML5 对它进行了标准化,因为尽管它是无效的解析器 required 以这种方式解析它。这不会发生在 XML/XHTML.
所以 \u0080
给你实际的字符 U+0080,你看不到因为它是一个不可见的控制字符,但是 €
给你代码页 1252 字节 0x80,这是 U +20AC 欧元符号。