【问题标题】:What do hex values in a hex dump correspond to?十六进制转储中的十六进制值对应于什么?
【发布时间】:2016-05-05 14:59:16
【问题描述】:

运行 xxd 1.py 返回此输出:

jrfar /cygdrive/c/Users/jrfar/Documents/stack_overflow $
xxd 1.py
00000000: 776f 7264 735f 6e75 6d5f 6469 6374 203d  words_num_dict =
00000010: 207b 2731 273a 276f 6e65 272c 2027 3227   {'1':'one', '2'
00000020: 3a27 7477 6f27 2c20 2733 273a 2774 6872  :'two', '3':'thr
00000030: 6565 272c 2027 3427 3a27 666f 7572 272c  ee', '4':'four',
00000040: 200a 2735 273a 2766 6976 6527 7d0a 6e75   .'5':'five'}.nu
00000050: 6d20 3d20 696e 7428 696e 7075 7428 2745  m = int(input('E
00000060: 6e74 6572 2061 206e 756d 6265 7220 2832  nter a number (2
00000070: 2d35 293a 2027 2929 0a63 6f75 6e74 203d  -5): ')).count =
00000080: 2032 0a77 6869 6c65 2063 6f75 6e74 203c   2.while count <
00000090: 3d20 6e75 6d3a 0a20 2020 2069 6620 6e75  = num:.    if nu
000000a0: 6d20 3e20 353a 0a20 2020 2020 2020 2070  m > 5:.        p
000000b0: 7269 6e74 2827 696e 7661 6c69 642e 2729  rint('invalid.')
000000c0: 0a20 2020 2020 2020 206e 756d 203d 2069  .        num = i
000000d0: 6e74 2869 6e70 7574 2827 456e 7465 7220  nt(input('Enter
000000e0: 6120 6e75 6d62 6572 2028 322d 3529 3a20  a number (2-5):
000000f0: 2729 290a 2020 2020 7072 696e 7428 776f  ')).    print(wo
00000100: 7264 735f 6e75 6d5f 6469 6374 5b28 7374  rds_num_dict[(st
00000110: 7228 636f 756e 7429 295d 290a 2020 2020  r(count))]).
00000120: 636f 756e 7420 3d20 636f 756e 7420 2b20  count = count +
00000130: 310a                                     1.
jrfar /cygdrive/c/Users/jrfar/Documents/stack_overflow $

十六进制值对应什么?我不认为它们可以是字母,绝对不是单词。我做了一些研究,看起来它们可能是单独的函数,但有一百个值。阅读 xxd 手册页发现它是...一个 hexdump,但仅此而已。

每个是什么意思?

提前致谢!

【问题讨论】:

  • 人们可以说文件被编码为 ASCII 的原因是因为“Python 2 使用 7 位 ASCII 字符集作为程序文本。”通常,如果您不使用文本文件的编码,则会丢失数据。编码应该从协议、规范、文档等中知道。另一方面,如果这是 Python 3,那么编码是 UTF-8。

标签: python hex hexdump


【解决方案1】:
00000000: 776f 7264 735f 6e75 6d5f 6469 6374 203d  words_num_dict =
  • 77 是 ASCII 字符 w 的十六进制值。
  • 6f 是 ASCII 字符 o 的十六进制值。
  • 72 是 ASCII 字符 r 的十六进制值。
  • 64 是 ASCII 字符 d 的十六进制值。


(来源:asciitable.com

【讨论】:

    【解决方案2】:

    您已经十六进制转储了一个文本文件,专门用 ASCII 编码。

    您看到的数字是它支持的字符的 ASCII 表示。

    含义:776f 7264 ->

    77 : w
    6f : o
    72 : r
    64 : d
    

    http://www.asciitable.com/

    【讨论】:

      猜你喜欢
      • 2018-07-26
      • 2016-10-19
      • 2014-04-20
      • 2021-03-22
      • 2014-10-30
      • 2011-12-09
      • 2011-02-27
      相关资源
      最近更新 更多