最近接触的字符编码相关总结

\u00a0

从网页上复制代码粘贴到 IDEA 中,IDEA 报错:
Error:(18, 1) java: illegal character: '\u00a0'
这个'\u00a0'是什么?
是从哪来的呢?

\u00A0 其实就是   代表 non-breaking space(不间断空白)
关于  , 严格语义上来说,使用场景是不希望自动换行时使用。但现实中,绝大部分情况下,  就用来表示纯粹的空格。因为多个字符空格在 html 中会被当成一个空格,为了连续输出多个空格,只好用   (毕竟用 css 控制太麻烦)。按理说用多个 输出多个空格是最好的选择,但强大的 html 引擎依旧会把多个 转换成一个。
jQuery 的 trim 方法加入 \u00A0, 是种无奈,但也是一种对现实标准的认可。
一切皆权衡。

参考:

如何打出复制 \u00a0

Chrome 使用开发者工具选择带有&nbsp空格的元素,然后在 Console 输入:copy($0.innerText)即可把带有&nbsp空格的文本复制到粘贴板中.
其他方法:
什么是 不换行空格 意思详解 - 淘大白

Java 与 Unicode

Versions of the Java programming language prior to JDK 1.1 used Unicode 1.1.5.
Upgrades to newer versions of the Unicode Standard occurred in JDK 1.1 (to Unicode 2.0),
JDK 1.1.7 (to Unicode 2.1),
Java SE 1.4 (to Unicode 3.0),
Java SE 5.0 (to Unicode 4.0),
Java SE 7 (to Unicode 6.0),
and Java SE 8 (to Unicode 6.2).

参考:
The Java ® Language Specification Java SE 8 Edition 3.1 Unicode

其他:

的码点:U+355C

分享到 评论