gpt4 book ai didi

java - .txt 文件的大小和磁盘上的大小

转载 作者:行者123 更新时间:2023-12-03 01:45:17 24 4
gpt4 key购买 nike

在记事本中打开一个新文件,并在其中插入不带引号的句子“四分七年前”。

Four              4 characters
score 5 characters
and 3 characters
seven 5 characters
years 5 characters
ago 3 characters

总计:25 + 5 个空格 = 30 个字符。

您会发现该文件在磁盘上的大小为 30 字节:每个字符 1 字节。将文件以名称 gettingSize.txt 保存到磁盘。然后查看文件的大小。一般来说,每个字符消耗一个字节。

大小:30 字节
磁盘大小:4.00 KB(4,096 字节)

以下段落是从 pdf 中复制粘贴的。

如果您像计算机一样查看该文件,您会发现每个字节包含的不是字母而是数字——该数字是与该字符对应的 ASCII 代码(见下文)。因此在磁盘上,文件的数字如下所示:

四七

70 111 117 114 32 97 110 100 32 115 101 118 101 110

通过查看 ASCII 表,您可以看到每个字符与所使用的 ASCII 码之间的一一对应关系。请注意使用 32 表示空格——32 是表示空格的 ASCII 代码。如果我们想在技术上正确的话,我们可以将这些十进制数扩展为二进制数(因此 32 = 00100000)——这就是计算机真正处理事物的方式。

1) 我知道所有的东西都是以位和字节的形式存储的,所以这通常意味着什么——“你会发现每个字节包含的不是一个字母而是一个数字——这个数字就是对应于的 ASCII 码人物”。一个字节是8位。那么“每个字节一个数字——数字就是ASCII码”是如何实现的呢?一个字节怎么可能包含 0 和 1 之外的 ASCII 数字(例如 49 代表“1”)?

2) Size 和 Size on Disk 之间到底有什么区别? ASCII 和 Unicode 是如何融入其中的?

3)在Java中,字符串是对象。我可以说它是多个字符连接在一起吗?String str = "四分和七年前"那么一个str在内存中是如何存储的呢。是不是和记事本文件中保存的方式一样?

最佳答案

文件存储在 block 中。如果文件大小小于 block 大小(在您的情况下为 4KB),则文件将占用所有 block ,但其大部分空间未使用。我认为这个问题已在 SuperUser 上得到回答,我会找到链接。更新:https://superuser.com/questions/704218/why-is-there-such-a-big-difference-between-size-and-size-on-disk

enter image description here

关于java - .txt 文件的大小和磁盘上的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25718799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com