python binascii.unhexlify正在转换LineFeed字符.我可以防止这个吗?



我有一对代表十六进制数字的字符(例如0f表示十进制15(。我需要二进制格式,所以我打电话给 binArray = binascii.unhexlify(finalString)

我安装了"在Windows上的Ubuntu上的Bash",当我从那里执行此操作时,它可以正常工作。

但是,我需要在Windows环境中的.bat文件中调用脚本。当我从.bat文件调用完全相同的python程序时,如果未脱光化显示在十六进制字符串中的" 0a",则将其转换为0d 0a(在二进制输出中(。这不是文本文件,线端转换正在损坏我的数据!

有没有办法说服Undexlify在我从Windows环境中调用它时停止这样做?

必须滚动我自己的转换似乎是一种浪费。

我发现了为什么0x0a字符转换为0d0a(即lf到CRLF(

这不是Binascii的错。我用

outfile = open(scriptDir + "Output/NVRAM/NVDATAout", 'w')打开文件,这意味着文本模式,因此写入适合本地系统的lineFeed转换。

当我以二进制模式打开输出文件时,此转换停止了。

outfile = open(scriptDir + "Output/NVRAM/NVDATAout", 'wb')

我在这里找到了这个答案:https://stackoverflow.com/a/9184137/7275012

相关内容

  • 没有找到相关文章