误用

| categories notes 


UCS-2 vs. UTF-16 vs. UNICODE

UNICODE是一套编码集,表达了编号和现实世界使用的记号之间的对应关系。例如U+0020对应空格(WHITESPACE),实际上你完全可以自己定义一套编码让0x00对应空格。

UTF-16UCS-2就不是那么好区分了。,UTF-16是一套变长编码。世界上常用的绝大多数符号,在UTF-16中都可以用2个字节表示。但是UTF-16是变长的,也就是说,其他的一些字符,需要用4个字节表示。而UCS-2呢,是一套定长编码,在UTF-16的2个字节的部分,一一对应。UCS-2定2个字节长。

实际上,UTF-16的使用并不怎么广泛,实则应用广泛的是UCS-2,世界上的大多数软件,都倾向于内码使用定长的,例如V8,HotSpot VM等。但是其实很少有人提及UCS-2。严谨一点的,会称这些软件使用的是2-byte UTF-16,其他人一般直接称它们用的是UTF-16了,虽然他们自己可能心里清楚称呼的是UTF-16中2个字节的那部分。

这个误会难以解除。你跟人解释的时候,如何保证别人知道什么是UCS-2呢?

Ethernet 2 vs. 802.3

大家都知道数据链路层,网络层,传输层这些东西。大家也知道网络层常用的IP协议,传输层常用的TCP,UDP协议。那么,数据链路层一般用的什么协议?

在以太网中,很多人会说用的是”802.3协议”。然而,”IEEE 802.3”代表的其实是整个以太网的标准。以太网上最常用的封包方式,是Ethernet II封装。

h5 vs. 手机上遵循HTML5规范的网页

这个没什么可说的了。

If you liked this post, you can share it with your followers !