Created by Wang, Jerry on Sep 25, 2015
根据Ascii表,问号的code为63:
若记事本里只存储了一个问号字符:
3F的十进制正好是63:
若改为big5:
内容不变。
UTF-8 - 不变。
多字节的Unicode编码方式定义了一个"字节顺序标记(Byte Order Mark)",它是一个特殊的非打印字符,你可以把它包含在文档的开头来指示你所使用的字节顺序。对于UTF-16,字节顺序标记是U+FEFF。如果收到一个以字节FF FE开头的UTF-16编码的文档,你就能确定它的字节顺序是单向的(one way)的了;如果它以FE FF开头,则可以确定字节顺序反向了。
如果记事本里存成
在ABAP debugger 3F00: ( UTF-16)
UTF-8使用一至四个字节为每个字符编码:
- 128个US-ASCII字符只需一个字节编码(Unicode范围由U+0000至U+007F)。
- 带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要二个字节编码(Unicode范围由U+0080至U+07FF)。
- 其他基本多文种平面(BMP)中的字符(这包含了大部分常用字)使用三个字节编码。
- 其他极少使用的Unicode辅助平面的字符使用四字节编码。
这解释了为什么? ( 63) 在UTF8 编码格式下仍然是3F的原因。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":