请教:记事本保存同样文本后大小为什么不同
系统:XP
实验1:
在记事本中输入一个汉字:汉
保存为unicode格式,通过右键属性查看,大小为4个字节
实验2:
在记事本中输入一个汉字:汉
保存为utf-8格式,通过右键属性查看,大小为6个字节
问题:
1、unicode为双字节编码,本身加上控制字符 汉+LF(换行)+CR(回车)=6字节, 怎么等于4个字节?
2、utf-8编码中,“汉”字占有3个字节,控制字符各占1个字节 汉+LF(换行)+CR(回车)=5字节, 怎么等于6个字节?
------解决方案--------------------
如果有回车换行符,那么回车换行符也会记入文件的大小。具体回车换行符大小由文件类型决定。
如果文件类型是UNIX + UTF16,回车换行符是\n,占用两个字节,编码是 “0A 00 ”
如果文件类型是DOS + UTF16,回车换行符是\r\n,占用四个字节,编码是 “0D 00 0A 00 ”
如果文件类型是UNIX + UTF8,回车换行符是\n,占用一个字节,编码是 “0A ”
如果文件类型是DOS + UTF8,回车换行符是\r\n,占用两个字节,编码是 “0D 0A ”