我一直在尝试将我从API中获取的二进制数据转换为R,但它没有正确地解析和转换值。
以下是二进制数据的样本:
00 00 00 01 00 04 53 42 55 58 00 00 00 25 c8 42 9b cc cd 42 9c 8a 3d 42 9b b8 52 42 9c 23 d7 44 bd 5e 14 00 00 01 43 53 5c 62 40
结果应该是:
SBUX 77.9 78.27 77.86 78.07 1153261076 1/2/2014 9:30
使用正确的数据类型和大小的示例代码
readBin(file2read[1:4],integer(),n=1, size=4) #Symbol Count
readBin(file2read[5:6],integer(),n=1,size=2) #Symbol length
readBin(file2read[7:10],character(),n=4) #Sympbol = SBUX
readBin(file2read[11],integer(),n=1,size=1) #Error code
readBin(file2read[12:15],integer(),n=4) #Bar Count
readBin(file2read[16:19],double(),n=4,size=4) #close
readBin(file2read[20:23],double(),n=1,size=4) #high
readBin(file2read[24:27],double(),n=1,size=4) #low
readBin(file2read[28:31],double(),n=1,size=4) #open
readBin(file2read[32:36],double(),n=1,size=4) #volume
readBin(file2read[37:44],character(),n=1,size=8) #timestamp
但是它没有产生上面列出的目标结果。
readBin(rr[7:(7+strwidth-1)],"character")
,其中strwidth
是先前的整数。 - MrFlick