大家好,谁能告诉我这个问题的答案?我创建了一个简单的txt文件。它只包含两个单词,单词是hello单词,根据我的研究,计算机使用ascii码将文本存储在磁盘或内存中,.In ascii码每个字母或符号由一个字节表示,或者简单地说,一个字节用于存储一个符号。现在的问题是,当我看到文件的大小是11字节时,我知道9字节代表单词,1字节代表空间,那么为什么它显示11字节大小,.i尝试了不同的方法,比如更改文件的名称,尽可能用最短的名称或最长的名称保存它,但它没有改变总存储空间,所以有人能解释为什么会发生这种情况吗?我在window或Linux(Ubuntu.centos)系统上尝试了这个东西,结果是一样的。
发布于 2010-11-19 15:36:02
pax> echo hello word >outfile.txt
pax> ls -al outfile.txt
-rw-r--r-- 1 pax pax 11 2010-11-19 15:34 outfile.txt
pax> od -xcb outfile.txt
0000000 6568 6c6c 206f 6f77 6472 000a
h e l l o w o r d \n
150 145 154 154 157 040 167 157 162 144 012
pax> hd outfile.txt
00000000 68 65 6c 6c 6f 20 77 6f 72 64 0a |hello word.|
0000000b如上所述,您将存储"hello word"和换行符。总共有11个字符。如果您不需要换行符,可以使用类似于echo的-n选项(它不添加换行符):
pax> echo -n hello word >outfile.txt
pax> ls -al outfile.txt
-rw-r--r-- 1 pax pax 10 2010-11-19 15:36 outfile.txt
pax> od -xcb outfile.txt
0000000 6568 6c6c 206f 6f77 6472
h e l l o w o r d
150 145 154 154 157 040 167 157 162 144
pax> hd outfile.txt
00000000 68 65 6c 6c 6f 20 77 6f 72 64 |hello word|
0000000a发布于 2010-11-19 15:33:34
如果您想查看文件的内容,可以在linux "od“下使用"od”命令对其执行八进制转储。很可能你看到的是一个CR (回车)和一个LN (换行符)。文件的名称与他的大小无关。
路易斯
发布于 2010-11-19 15:36:51
您是否在文本文件(\n)中添加了新行?这个字符看不到并不意味着它不在那里。
https://stackoverflow.com/questions/4222963
复制相似问题