关于二进制文件和文本文件的问题
比如数字33用二进制文件是怎么贮存的,33用文本本件是怎么贮存的?angebaby用二进制文本是怎么贮存的?用文本文件呢?...
比如数字33用二进制文件是怎么贮存的,33用文本本件是怎么贮存的?
angebaby用二进制文本是怎么贮存的?用文本文件呢? 展开
angebaby用二进制文本是怎么贮存的?用文本文件呢? 展开
1个回答
展开全部
事实上电脑上的所有文件都是二进制文件,而所谓“文本文件”是指不含有特殊字符的文件,本质上它仍然是二进制文件。
数字33在文件中的储存格式要根据它的类型来定:
如果是字节型(Byte),储存为 00100001(也就是16进制的21,为了方便说明,下面都用16进制表示了),占用1个字节(8位);
如果是整型(Integer),储存为 21 00,占用2个字节(16位);
如果是长整型(Long),储存为 21 00 00 00,占用4个字节(32位);
如果是单精度浮点型(Sing),储存为 00 00 04 42(关于浮点数的说明就你自己百度了,估计一本书也解释不完),占用4个字节;
如果是双精度浮点型(Double),储存为 00 00 00 00 00 80 40 40,占用8个字节。
如果是把33作为文本来储存,则储存的是每个字符的ASCII码: 33 33(注意,这里的33和前面说的数字33不是一回事啊,字符"3"的ASCII码为51,转为16进制恰好是33),占用两个字节。
同理,文本字串都是按每个字符的ASCII码储存的,比如 “angebaby”就是 61 6E 67 65 62 61 62 79 。
如果字符串中含有汉字,则情况要复杂得多,要根据编码格式来决定,这里就不细说了。
数字33在文件中的储存格式要根据它的类型来定:
如果是字节型(Byte),储存为 00100001(也就是16进制的21,为了方便说明,下面都用16进制表示了),占用1个字节(8位);
如果是整型(Integer),储存为 21 00,占用2个字节(16位);
如果是长整型(Long),储存为 21 00 00 00,占用4个字节(32位);
如果是单精度浮点型(Sing),储存为 00 00 04 42(关于浮点数的说明就你自己百度了,估计一本书也解释不完),占用4个字节;
如果是双精度浮点型(Double),储存为 00 00 00 00 00 80 40 40,占用8个字节。
如果是把33作为文本来储存,则储存的是每个字符的ASCII码: 33 33(注意,这里的33和前面说的数字33不是一回事啊,字符"3"的ASCII码为51,转为16进制恰好是33),占用两个字节。
同理,文本字串都是按每个字符的ASCII码储存的,比如 “angebaby”就是 61 6E 67 65 62 61 62 79 。
如果字符串中含有汉字,则情况要复杂得多,要根据编码格式来决定,这里就不细说了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询