【发布时间】:2014-06-19 07:51:12
【问题描述】:
我有一个file,其中包含原始/二进制数据和 ascii。 它包含一个时间戳和一个代表速度的无符号 16 位值。 我想用“R”绘制那个速度,因此读取那个文件。
文件的定义是:
自午夜以来的毫秒数 - 在 ascii 中
+ ':$'
+ 缓冲区
+ #13#10
BufferString 然后包含我想提取的以下信息:
字节 3:序列字(无符号)
字节 4 和 5:速度(无符号)
...
我想生成一个包含 2 列时间和速度的表
我的方法是将文件作为 csv 读取一次以获取时间戳列。
library(bit)
dataPath="rawdata.txt"
#to create time col read file as csv:
rwch=read.csv(dataPath, sep=":")
然后以二进制形式再次读取文件。 我将文件分成 27 个字节的片段,这是一行的长度。
#read binary
to.read = file(path, "rb")
rw=readBin(to.read, what="raw", n = 100*27, endian = "big")
rws=split(rw, ceiling(seq_along(rw)/27))
但后来我卡住了。结果向量不包含原始数据,我无法再次拆分它以从中获取速度。 我尝试了几个函数,例如 hexView ,readRaw ,但我无法生成我的列表。
我很高兴有任何提示
【问题讨论】: