Вопрос

GCC 4.6.0

Как выглядят бинарные данные? Это все 1 и 0.

Мне просто было интересно, когда я разговаривал с другим программистом о копировании строк и бинарных данных.

Обычно я использую функции strcpy/strncpy для копирования строк и memcpy/memmove для копирования двоичных данных. Однако мне просто интересно, как это выглядит?

Большое спасибо за любые предложения,

Это было полезно?

Решение

В этом контексте «двоичные данные», как правило, просто данные, которые могут содержать нулевые байты (например, '\0') Функции манипуляции строк, такие как strcpy() а также strncpy() остановится, когда увидят эти символы, тогда как байтовые манипуляции функционируют как memcpy() а также memmove() всегда будет продолжаться за количество байтов, о которых вы им говорите.

Другие советы

Зависит от того, что вы используете, чтобы просмотреть его. Здесь он в шестнадцатеричной и ASCII:

jcomeau@intrepid:~$ xxd /bin/bash | head -n 10
0000000: 7f45 4c46 0101 0100 0000 0000 0000 0000  .ELF............
0000010: 0200 0300 0100 0000 5021 0608 3400 0000  ........P!..4...
0000020: 345c 0c00 0000 0000 3400 2000 0800 2800  4\......4. ...(.
0000030: 1c00 1b00 0600 0000 3400 0000 3480 0408  ........4...4...
0000040: 3480 0408 0001 0000 0001 0000 0500 0000  4...............
0000050: 0400 0000 0300 0000 3401 0000 3481 0408  ........4...4...
0000060: 3481 0408 1300 0000 1300 0000 0400 0000  4...............
0000070: 0100 0000 0100 0000 0000 0000 0080 0408  ................
0000080: 0080 0408 c013 0c00 c013 0c00 0500 0000  ................
0000090: 0010 0000 0100 0000 c013 0c00 c0a3 1008  ................

Вот еще один способ просмотреть:

jcomeau@intrepid:~$ convert -size 640x$(($(stat -c %s /bin/bash)/640)) \
 -depth 8 gray:/bin/bash /tmp/bash.png
jcomeau@intrepid:~$ firefox /tmp/bash.png

enter image description here

Бинарные данные - это просто способ сказать, что это данные, которые не являются текстом. Другими словами, это на самом деле не дает вам много понимания того, что данные является, скорее, это дает вам представление о том, какие данные не.

Странным битом является то, что в наиболее техническом смысле слова текст также является двоичными данными.

Двоичные данные - это просто данные, закодированные в двоичной форме. Чтобы лучше посмотреть, как выглядит содержимое двоичного файла, вам понадобится шестнадцатеричный редактор, такой как Hew Editor для Windows или Hexedit для Linux.

Это все и нули. Но те и нули живут по -разному на вашем компьютере. ЦП видит те, которые и нули не так, как DRAM, и оба из них по -разному закодированы на жестком диске.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top