我们可以通过在操作系统中进行一些简单的联系,加深对Unicode编码基础知识的理解和记忆。Windows10操作系统下,新建记事本文件,输入123ABCabc,默认编码格式为UTF8:使用十六进制文件编辑器winhex打开记事本文件:见313233414243616263文字区。这些数字是什么意思?UTF8(通用字符集/Unicode转换格式)是Unicode的可变长度字符编码。它可以用来表示Unicode标准中的任何字符,其编码中的第一个字节仍然与ASCII兼容,从而使原来处理ASCII字符的软件无需或只需少量修改就可以继续使用。ASCII是AmericanStandardCodeforInformationInterchange的缩写,专为美式英语交流而设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4)和控制字符(退格、响铃等)。ascii对照表可以从这个链接获得。数字1、2、3的UTF8(ASCII)编码分别为31、32、33:大写ABC的UTF8(ANSI)编码为414243,小写字母为616263:将ENCODING改为ANSI:在winhex中内容不变。Notepad的Encoding改为UTF8后,bom:winhex文件内容前面部分多了三个EFBBBF。首先,BOM的意思是字节序标记,BOM(byteordermark)是UTF-16和UTF-32为标记字节序而准备的。微软在UTF-8中使用BOM是因为它可以清楚地区分UTF-8和ASCII等编码。这个EFBBBF可以理解为一个特殊的标记,用来明确表示该文件的编码是UTF-8:https://en.wikipedia.org/wiki...相应的,在记事本中,把After编码改为UTF-16(BE),文件头变成FEFF,前面的313233变成双字节003100320033:再试试中文。在记事本中输入一个中文“王”:WangUTF8E6B1AA这是汉字王的三字节Unicode编码,来自网站。AA占一个字节,8位:10101010UTF16-LE6A6C3A代表冒号:22代表引号:更多Jerry原创文章在这里:《汪子熙》:
