在win7上,新建一个txt文件,输入“联通”。关闭后打开会出现“��ͨ”。why。
txt文件编码格式
bom。微软为了正确判断文件格式,在Unicode编码格式的文件头部添加了bom信息。当程序读取文件内容的时候,首先会读到这个bom,然后根据bom来判断是那种UTF编码格式。
utf-8 的bom的byte为 -17 -69 -65。网上许多程序都是以此来判断文件是否是UTF-8格式。但是,windows上的UTF-8编码格式的文本文件可以不带bom。也就是说这种方式适配性并不好。
新建一个txt文件,输入“联通”。用程序读取后,其内容的byte为:-63 -86 -51 -88UTF的bom编码
UTF-8: EF BB BF
UTF-16 : FF FE
UTF-16 big-endian: FE FF
UTF-32 little-endian: FF FE 00 00
UTF-32 big-endian: 00 00 FE FF