компьютерные основы - PullRequest
       5

компьютерные основы

0 голосов
/ 19 ноября 2010

Привет всем, кто-нибудь может сказать мне ответ на этот вопрос? я создал простой текстовый файл. он содержит только два слова, и слова являются привет-словом, согласно изученному мной компьютеру, для хранения текста на диске или в памяти используется код ascii. В коде ascii каждая буква или символ представлены одним байтом или в простых словах один байт используется для хранения символ. Теперь проблема в том, что когда я вижу размер файла, он показывает 11 байт, я понимаю, 9 байт для слов, один байт для пробела дает 10, тогда почему он показывает размер 11 байт. Я пробовал разные вещи, такие как изменение имени файла, сохраняя его с максимально коротким или максимально длинным именем, но это не изменило общий объем памяти так может ли тело объяснить, почему это происходит? я попробовал эту вещь через окно или Linux (Ubuntu.centos) системный результат такой же.

Ответы [ 3 ]

3 голосов
/ 19 ноября 2010
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 символов.Если вы не хотите новую строку, вы можете использовать что-то вроде -n опции echo (которая не добавляет новую строку):

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
2 голосов
/ 19 ноября 2010

Если вы хотите увидеть содержимое файла, вы можете выполнить восьмеричный дамп его, используя команду "od" в linux "od". Скорее всего, вы увидите CR (возврат каретки) и LN (перевод строки). Название файла не имеет ничего общего с его размером.

Луис

0 голосов
/ 19 ноября 2010

Была ли у вас новая строка в текстовом файле (\n)?То, что этот персонаж не может быть виден, не означает, что его там нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...