要在
Python中解码来自套接字连接的二进制答案,我会这样做:
import numpy as np answer= b"\x80\x8eaS\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x80\x8eaS\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00" datatype = [('da_0','<i8'),('i8_1','<i8')] np.frombuffer(answer,datatype)
哪个输出
>>>array([(1398902400,1),(1398902400,1)],dtype=[('da_0','<i8')])
我一直在使用R中的unpack()函数(来自{pack})来重现相同的结果但直到现在都没有成功.
任何想法将不胜感激!
解决方法
在R中,您可以在连接或原始向量上使用readBin
answer=as.raw(c( 0x80,0x8e,0x61,0x53,0x00,0x01,0x80,0x00)) readBin(answer[1:16],"integer",size=8,n=2,endian="little") # [1] 1398902400 1 readBin(answer[17:32],endian="little") # [1] 1398902400 1
如果您的响应位于连接对象中,那么您不必担心索引以提取原始向量的正确部分.您可以从二进制连接中读取它,它将跟踪索引.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。