问题标签 [binascii]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 我无法在 Python 中将十六进制转换为字符串
所以我已经完成了这段代码(这只是将字符串转换为十六进制的部分),当我尝试解密时,我收到这条消息:找到非十六进制数字
这是字符串到十六进制代码:
这里是字符串代码的十六进制
程序从文件中读取 pw。
该程序要大得多,但这是让我陷入困境并且无法正常工作的部分。
我用来将字符串转换为十六进制的方法有效,但十六进制到字符串却没有。
有人能帮助我吗?
python-2.7 - binascii.unhexlify 出现奇数字符串错误
我正在尝试将 ASCII 字符串来回转换为其二进制表示,如下所示。
但是,最后我收到以下错误,这对我来说没有多大意义。
1 binascii.unhexlify('%x' % n)
TypeError:奇数长度的字符串
有什么问题,我该如何解决?
python - Python:如何捕获此错误(无法获取错误名称) - binascii.Error
我将 base64 模块用于 b64decode() 函数,但是某些文本字符串会引发此错误:
我知道这是因为字符串的长度不是 4 的倍数,这是 base64 编码文本的要求。
我不想仅仅在字符串的末尾添加 '=' 以使其成为 4 的倍数,而是要捕获错误并简单地声明字符串不是 base64 编码的。它使用一般的'except:'工作,但是我想捕获特定的错误,但我找不到相同的错误,因为它不像其他错误那样非常具体,并且'除了 binascii.Error: ' 显然是未定义的。帮助?
python - 在 Python 中将字符串转换为十六进制
这是我从数组构建消息的函数。有两种类型的检查:
检查“C”、“G”、“A”-> [("{'chip_id': '00012345', 'check_type': 'C'}", 1494273855.0)]
检查“P”-> [“{'纬度':43.5529109,'经度':1.4910036,'检查类型':'P'}”,1494273855.0]
使用此功能,我可以将任何支票转换为所需的消息。它似乎工作得很好。
“C” check_type 返回消息,如“C0x5910e6b80x592c40b7P”。
“P” check_type 返回消息,如“P0x5910ca4b0x420f12d00x428fca07”
但是,以另一种方式,我需要解密这些消息并获取所有信息。我可以为我的“P”消息做到这一点。
对于 check_type "C" 我在需要解密时遇到了一些问题。
举个例子,我将构建以下检查:
[("{'chip_id': '00014876', 'check_type': 'C'}", 1494279864.0)]
其中“chip_id”始终为 8 位,“check_type”将是“C”、“G”或“A”(此处无关紧要)和时间戳。
我的函数返回:
C0x5910e6b80x592c40b7P
- C是我的类型。
- 0x5910e6b8 是我的时间戳。如果我执行“int("0x5910e6b8", 0)”,我会在支票中找到“1494279864”时间戳
- 0x592c40b7 是我的chip_id。
那是我的问题。我可以用以下方法加密我的chip_id:
- a = int(binascii.hexlify(chip_id))
hex(struct.unpack('<I', struct.pack('<f', a))[0])
但是,我找不到如何从加密消息中的十六进制(“0x592c40b7”)中获取我的chip_id(“00012345”)。
有人知道我该怎么做吗?
python - 以 2 为基数的 int() 的 Python 无效文字
我正在尝试一个简单的隐写 python 程序。编码有效,但我收到错误 ValueError: invalid literal for int() with base 2: '0b#99c1f#...... 该值应该是二进制的,我找不到错误。我正在使用 python 2.7 这是代码:
python - Python binascii.unhexlify 正在转换换行符。我可以防止这种情况吗?
我有一串代表十六进制数字的字符对(例如,0f 表示十进制 15)。我需要这个二进制格式,所以我打电话
binArray = binascii.unhexlify(finalString)
我安装了“Windows 上的 Ubuntu 上的 bash”,当我从那里执行此操作时,它工作正常。
但是,我需要从 windows 环境中的 .bat 文件调用脚本。当我从 .bat 文件中调用完全相同的 python 程序时,如果 unhexlify 在十六进制字符串中看到“0a”,它会将其转换为 0d 0a(在二进制输出中)。这不是文本文件,行尾转换正在破坏我的数据!
当我从 Windows 环境中调用它时,有没有办法说服 unhexlify 停止这样做?
不得不自己进行转换似乎是一种浪费。
python - 将字符串中的字节发送到 Redis,以便将其用作 Celery 任务的参数
我想使用 Redis 作为代理将字符串中的字节发送到 Celery 的任务,但我收到如下所示的错误:
我要发送到的缩短的(主要是最多 100 万个字符串)示例数据:
负责调用Celery任务的部分代码:
这是tasks/my_task.py
文件的样子:
和celery.py
:
也许有一些聪明的方法可以在将字符串发送到 Redis 之前对其进行编码并在运行任务时对其进行解码?
python-3.x - Zlib 和 binascii 不使用 Python3.6 构建
我一直在尝试从 Ubuntu 14.04 上的源代码构建 Python3.6.1。README 推荐的命令序列:
后者崩溃是因为它无法导入 binascii。在其输出中有以下内容:
试图跳过make test
并开始make install
我在 import 失败后崩溃了zlib
。Ubuntu 论坛中的一些人建议从存储库更新所有 zlib 的包。那没有帮助。我该如何解决?
python - 使用 Binascii Hexlify 输入
我正在尝试hexlify
从用户输入,但出现以下错误:
如果我b
在字符串之前使用它,那么它可以工作,但我如何使用输入来做到这一点?
这是代码:
我试着做:
但它给出了以下错误:
我怎样才能做到这一点?
python - Python 错误 TypeError:参数应该是字节、缓冲区或 ASCII 字符串,而不是“NoneType”
我正在尝试创建一个工具来在 python 3 中传输二进制文件并在服务器端遇到一个奇怪的问题。在服务器代码中,您将看到我注释掉了一行,它将从客户端接收到的数据打印到屏幕上。
注释掉这一行后,我收到错误 TypeError: argument should be bytes, buffer or ASCII string, not 'NoneType' 并且二进制文件显然已损坏。
如果我从服务器代码中取消注释打印语句,则文件会按预期传输,并且二进制文件会完好无损地接收。我尝试在 self.data 上检查 None,但是,从未检测到 None 类型。
我完全困惑为什么“print(self.data)”行允许代码执行而没有错误。任何想法表示赞赏。
服务器接收文件:
客户端发送文件: