浅谈文件编码与格式

在这里谈谈文件的编码格式,这有助于我们更好的实现文件的操作(这里仅列举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. 回车键的字节数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值