在Python中,将十六进制文件解码为等效的十进制“文字”

校对员

我有一个十进制后pi的前1亿位数的十六进制文件,在十六进制编辑器中,它看起来像这样:

14 15 92 65 35 89 79 32 etc.

我需要将其转换为字符串(最终是整数)“ 1415926435897932”等。因此,无需将其从十六进制“转换”为十进制,它已经是十进制了,就像十六进制字节一样。(我在标题中的引号中使用了“文字”一词​​,这可能完全是错误的词,因为它暗含了字符串文字。)

当我尝试在python中读取文件时,遇到各种编码困难(因为第一个字节15是非打印字符,等等)。

例如:

>>> f = open('pi100m.hexbin.000', 'rb')
>>> contents = f.read()
>>> f.close()
>>> snippet = contents[:50]
>>> snippet
'\x14\x15\x92e5\x89y28F&C82yP(\x84\x19qi9\x93u\x10X \x97IDY#\x07\x81d\x06(b\x08\x99\x86(\x03H%4!\x17\x06y'
>>> # if I 'print snippet', I get those question marks in triangles
>>> # for the nonprinting characters, they do not reproduce
>>> # in stackoverflow

我已经尝试了很多关于编码的StackOverflow文章和Python帮助文档,但是我感觉我缺少一些非常基本的东西。

马丁·彼得斯(Martijn Pieters)

编码十六进制,那么您至少具有一个字符串表示形式:

integer_string = contents.encode('hex')

演示:

>>> snippet = '\x14\x15\x92e5\x89y28F&C82yP(\x84\x19qi9\x93u\x10X \x97IDY#\x07\x81d\x06(b\x08\x99\x86(\x03H%4!\x17\x06y'
>>> snippet.encode('hex')
'1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679'

本质上,您的十六进制编辑器会执行此操作,将字节表示为十六进制字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从类似csv的txt文件将十六进制转换为十进制

来自分类Dev

将R中的十六进制转换为十进制

来自分类Dev

流十六进制数为十进制

来自分类Dev

将十进制转换为十六进制值

来自分类Dev

在cmake中从十进制转换为十六进制

来自分类Dev

是否可以在intellij中同时将int视为十进制和十六进制?

来自分类Dev

Java中的十六进制到十进制

来自分类Dev

在Swift中在十进制,二进制和十六进制之间转换

来自分类Dev

Python字典会自动将十六进制转换为十进制吗?

来自分类Dev

PHP将十进制转换为十六进制

来自分类Dev

Bash中的十六进制到十进制

来自分类Dev

C ++ std :: hex是否反转字节顺序?(将十进制打印为十六进制)

来自分类Dev

将字符串转换为十六进制,十进制和八进制

来自分类Dev

使用python将十六进制十进制数字转换为十进制

来自分类Dev

将文本文件中的十进制值列表转换为十六进制格式

来自分类Dev

十六进制到java中的十进制转换

来自分类Dev

Ada中的十六进制十进制转换

来自分类Dev

十进制-> Haskell中递归十六进制

来自分类Dev

Python:将一位数字十进制转换为十六进制

来自分类Dev

将C中的十六进制字符串转换为十进制

来自分类Dev

以十进制,八进制和十六进制表示的整数文字在转义字符中是否相同?

来自分类Dev

将未知的十六进制/二进制表示逆向工程为十进制

来自分类Dev

将C中的十六进制转换为十进制数

来自分类Dev

OSX / MacOs 批量将十六进制文件名重命名为十进制文件名

来自分类Dev

如何将十六进制的 ipv6 字符串以 : 分隔为 PostgreSQL 中的十进制

来自分类Dev

如何根据数字格式将十进制和十六进制字符串解析为int

来自分类Dev

将十六进制十进制IP地址转换为c#中的点表示法十进制

来自分类Dev

将十六进制文件解码为明文英文

来自分类Dev

将十六进制转换为十进制

Related 相关文章

  1. 1

    从类似csv的txt文件将十六进制转换为十进制

  2. 2

    将R中的十六进制转换为十进制

  3. 3

    流十六进制数为十进制

  4. 4

    将十进制转换为十六进制值

  5. 5

    在cmake中从十进制转换为十六进制

  6. 6

    是否可以在intellij中同时将int视为十进制和十六进制?

  7. 7

    Java中的十六进制到十进制

  8. 8

    在Swift中在十进制,二进制和十六进制之间转换

  9. 9

    Python字典会自动将十六进制转换为十进制吗?

  10. 10

    PHP将十进制转换为十六进制

  11. 11

    Bash中的十六进制到十进制

  12. 12

    C ++ std :: hex是否反转字节顺序?(将十进制打印为十六进制)

  13. 13

    将字符串转换为十六进制,十进制和八进制

  14. 14

    使用python将十六进制十进制数字转换为十进制

  15. 15

    将文本文件中的十进制值列表转换为十六进制格式

  16. 16

    十六进制到java中的十进制转换

  17. 17

    Ada中的十六进制十进制转换

  18. 18

    十进制-> Haskell中递归十六进制

  19. 19

    Python:将一位数字十进制转换为十六进制

  20. 20

    将C中的十六进制字符串转换为十进制

  21. 21

    以十进制,八进制和十六进制表示的整数文字在转义字符中是否相同?

  22. 22

    将未知的十六进制/二进制表示逆向工程为十进制

  23. 23

    将C中的十六进制转换为十进制数

  24. 24

    OSX / MacOs 批量将十六进制文件名重命名为十进制文件名

  25. 25

    如何将十六进制的 ipv6 字符串以 : 分隔为 PostgreSQL 中的十进制

  26. 26

    如何根据数字格式将十进制和十六进制字符串解析为int

  27. 27

    将十六进制十进制IP地址转换为c#中的点表示法十进制

  28. 28

    将十六进制文件解码为明文英文

  29. 29

    将十六进制转换为十进制

热门标签

归档