我有一个Python代码,它返回连续的十六进制,例如
b'd3f64b0e'
b'40e65d1d'
...
或者如果我将其从十六进制解码为连续字节
b'\xd3\xf6K\x0e'
b'@\xe6]\x1d'
...
我的问题是如何将这些数据中的任何一个转换为连续的原始二进制流,我可以将其转换为具有以下要求的另一个(非python)应用程序?
我向请求发送数据的应用程序:原始二进制输入读取指定数据流的32位增量。 stdin_input_raw接受来自原始二进制流的管道。
例如
$ ./python_program | binary_data_consumer_program <args>
目前,如果我输出数据作为上面列出的两种方法之一,我正在管道的应用程序甚至不识别管道数据,我得不到任何响应。我通过这样做发送:
sys.stdout.flush()
for _ in iter(int,1) # loop forever
data_from_func = func(args)
data_to_send = bytes.fromhex(data_from_func.decode("utf-8")) # produces data hex to bytes
sys.stdout.buffer.write(data_to_send)
非常感谢任何帮助。谢谢!