浅谈文件编码与格式

在这里谈谈文件的编码格式,这有助于我们更好的实现文件的操作(这里仅列举txt格式的编码)。

 

先用记事本建立一个新文件,我们可以随意输入几个字符,例如abcd,接着再按一下回车,保存退出。记事本默认保存编码是ANSI编码,就是ASCII码,我们再打开文件,分别另存为Unicode编码,Unicode big endian编码和UTF-8。然后分别用UltraEdit打开四个文件,按Ctrl+H查看16进制代码,可以看到以下内容:

 

ANSI:

00000000h: 61 62 63 64 0D 0A

使用ASCII码 每个字符一个字节 最后的0D回车符 即把光标移到本行开头 0A表示换行符 即把光标移到下一行

 

 

Unicode:

00000000h: FF FE 61 00 62 00 63 00 64 00 0D 00 0A 00

使用ASCII码 每个字符两个字节 后一个字节用0填充 文件开头有两个字节是FF和FE 注意读文件的时候要跳过

 

 

Unicode big endian:

00000000h: FE FF 00 61 00 62 00 63 00 64 00 0D 00 0A

使用ASCII码 每个字符两个字节 前一个字节用0填充 文件开头有两个字节是FE和FF 刚好和Unicode编码一个字符内两个字节的位置对调

 

 

UTF-8:

00000000h: EF BB BF 61 62 63 64 0D 0A

使用ASCII码 每个字符一个字节 文件开头有三个字节 EF BB BF 注意读文件的时候要跳过

 

由此 不管读取什么类型的文件 都要注意

1. 单个字符的位数

2. 文件开头结尾的标志位字节数

3. 回车键的字节数

 

你可能感兴趣的:(浅谈文件编码与格式)