Search code examples
chexdump

xxd binary dump problems


alt text

Is the above output in the format that should be expected from xxd or does the presence of the bizzare characters on the right suggest i've done something wrong?

I'm attempting to serialise a simple linked list and that's the output i get. Would failing to remove the sentinal character "\0" from the serialisation cause the error?


Solution

  • I'm guessing you are serializing as binary not as strings, so this is normal. Each two hex digits on the left correspond to a one character on the right. This is one byte, i.e. eight bits. Some characters are printable (see ASCII table bellow), some are not (shown as dots).

    ASCII Table - | hex value - name/char |
    
    | 00 nul| 01 soh| 02 stx| 03 etx| 04 eot| 05 enq| 06 ack| 07 bel|
    | 08 bs | 09 ht | 0a nl | 0b vt | 0c np | 0d cr | 0e so | 0f si |
    | 10 dle| 11 dc1| 12 dc2| 13 dc3| 14 dc4| 15 nak| 16 syn| 17 etb|
    | 18 can| 19 em | 1a sub| 1b esc| 1c fs | 1d gs | 1e rs | 1f us |
    | 20 sp | 21  ! | 22  " | 23  # | 24  $ | 25  % | 26  & | 27  ' |
    | 28  ( | 29  ) | 2a  * | 2b  + | 2c  , | 2d  - | 2e  . | 2f  / |
    | 30  0 | 31  1 | 32  2 | 33  3 | 34  4 | 35  5 | 36  6 | 37  7 |
    | 38  8 | 39  9 | 3a  : | 3b  ; | 3c  < | 3d  = | 3e  > | 3f  ? |
    | 40  @ | 41  A | 42  B | 43  C | 44  D | 45  E | 46  F | 47  G |
    | 48  H | 49  I | 4a  J | 4b  K | 4c  L | 4d  M | 4e  N | 4f  O |
    | 50  P | 51  Q | 52  R | 53  S | 54  T | 55  U | 56  V | 57  W |
    | 58  X | 59  Y | 5a  Z | 5b  [ | 5c  \ | 5d  ] | 5e  ^ | 5f  _ |
    | 60  ` | 61  a | 62  b | 63  c | 64  d | 65  e | 66  f | 67  g |
    | 68  h | 69  i | 6a  j | 6b  k | 6c  l | 6d  m | 6e  n | 6f  o |
    | 70  p | 71  q | 72  r | 73  s | 74  t | 75  u | 76  v | 77  w |
    | 78  x | 79  y | 7a  z | 7b  { | 7c  | | 7d  } | 7e  ~ | 7f del|