【问题标题】:Weird encoding in 8-bit binary file8位二进制文​​件中的奇怪编码
【发布时间】:2015-09-12 20:44:45
【问题描述】:

我正在尝试将 8 位数据(特别是从 0 到 256 的整数)写入 8 位二进制文​​件。显然,这可能意味着很多不同的事情。

对我来说,这意味着我应该将数字 0-256 输出到文件中并将其保存为“.bin”。例如:12、31、52、34 等

但是,当我查看我正在使用的函数的示例文件时,编码是这样的:

$D´/êÌ4¹äæ¸à©+%+
ü§Ö¾ZýDƒöDÛW.©òŒ¡¤¤Ýιõ¬>Ž€R˜ZêO3»'OtB A¡…ÛÜWŒôðÉ£«AŠÓ¡m7?Yu![%øËÑÔOƒ»$4‚yÌlm7Û÷(Ó2'h&^Îc¦ý£Ê)C­u!ýú}|“Fi    fgfôõ†Aó›   sÇ;ÁFlä½À‰Z« >2¢*ÚyÓ©’¨¿ì-Ÿ1Ê6‰>çŸÃı²(€Ó?PãwG‚k©Þ¨<äÎ5ÚHç~—ƒ÷û‡ì™¦œÆ`–­n¯Ó
AüÄ †ný^D`ÜúYD'Ãñì4ß%KÚz| ±¢m/ð±ð‡ƒ–Xm ‰;2®d’+@á¤DtïšÆ¯+Ÿ“,XCg"s>CÅí1JíšÚlÌóüªí
÷Eª´ÜW¤æŽYÄãw‘IÃuÐç’ÈyX”22é[f2ÀCƒ*  e|Ë›:áæ²€´µ‰ûcÇz(¡‰ýY#rWÖ8BjnKó@ýx´l$WÂX[¦,ä3÷òiabi¾2eó¾Ù[ŽOfB”÷FIÈJög¹æO°¼qÖüè×TáQÿYªqãˆ
Vh=eN¦Sœ ãÓšÇ
‡WÜÀìé:”lýT]˜ÇIübjüYµÕE¨¹nÓ鉊ñañ—(hrû6YÈг-a‚™A_LnŸË˜jAì“Æ€(9Èã·âÁzW’d°ß¢Ä1ŸôˆUÀ&Ú:ÐÂk³}ø/râ."¤ƒ:¡WÙŠ€¥â„´Ý¯nõoWDɨ®¸áÅzø !ú•g‰\òL¡-í¦°nBÖÂlÒÚëžÆlºNz[àŠ»–Àé1ó6©Â¼¹æö·œ¹#
“ÍìqåŸW¤ª
*‘=_.‰^4{@»@Ã{µÕ³`

我的问题是,如何将 8 位整数列表转换为上面指定的任何文件类型?

编辑: 更清楚地说,我已经将这些整数写入了一个“.bin”文件,而且我的文件是完全可读的。但是,该函数要求输入采用我上面显示的非人类可读格式。如何将我的人类可读数字转换为上述非人类可读格式?

【问题讨论】:

  • 如果您在文本编辑器中打开随机字节流,这看起来就像我期望看到的那样。你期待什么?
  • “二进制”文件不一定只包含可打印字符。当您尝试将二进制文件作为字符数据打印时,您会得到垃圾。您需要使用“十六进制编辑器”(例如HDD Hex Editor Neo)以十六进制显示数据。
  • 可以使用编辑器二进制,例如pspad.com/en/faq.htm
  • 我正在向任何可以写出 256 位 8 位二进制文​​件的人支付 20 美元
  • 我对这些答案感到困惑。我需要将整数转换为那种奇怪的编码,以便它们可以用作 python 函数的输入。有什么建议? hex() 函数会起作用吗?

标签: file encoding character-encoding binary output


【解决方案1】:

谁说你做错了。我是认真的。谁说它会被普通人自然阅读?

【讨论】:

  • 我使用的python函数不接受简单整数?它需要奇怪的编码......如何将简单的整数转换为编码?
  • 您是在问还是在说不确定您的意思。你有一个十进制数,比如 7 或 193。当你写出二进制数据时,它以不完全人类可读的形式存储
  • 在线下载一个十六进制编辑器,然后让我们来聊天,因为您似乎对此很陌生
  • 我以人类可读的格式编写了数据,但我使用的函数不会接受人类可读的格式。函数的示例输入(由函数的开发人员提供)具有上面列出的奇怪编码。我正在尝试将我的数据(人类可读)转换为上面的奇怪编码。
  • 我下载了一个十六进制编辑器,它确实帮助我~理解~这个问题,但我仍然不确定如何解决我的特定问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-09
相关资源
最近更新 更多