作为一个程序员,我们经常遇到过读写文本文件的操作,而文本文件各种编码方式令人苦不堪言,那么我们怎么去判断这个文件是什么编码文件呢?
不同编码方式的BOM头
编码 | 表示(十六进制) | 表示(十进制) |
---|---|---|
UTF-8 | EF BB BF | 239 187 191 |
UTF-16(大端序) | FE FF | 254 255 |
UTF-16(小端序) | FF FE | 255 254 |
UTF-32(大端序) | 00 00 FE FF | 0 0 254 255 |
UTF-32(小端序) | FF FE 00 00 | 255 254 0 0 |
UTF-7 | 2B 2F 76 和以下的一个字节:[ 38 | 39 | 2B | 2F ] | 43 47 118 和以下的一个字节:[ 56 | 57 | 43 | 47 ] |
UTF-1 | F7 64 4C | 247 100 76 |
UTF-EBCDIC | DD 73 66 73 | 221 115 102 115 |
Unicode标准压缩方案 | 0E FE FF | 14 254 255 |
BOCU-1 | FB EE 28 及可能跟随着FF | 251 238 40 及可能跟随着255 |
GB-18030 | 84 31 95 33 | 132 49 149 51 |
在这里特别注意下,GB18030的编码文件在简体中文系统中默认是基于ANSI编码方式的GB2312编码,所以实际应用中很难遇到这种文件.