在R中写二进制数据

时间:2012-07-20 19:12:40

标签: r binaryfiles

我正在尝试编写HTTP POST请求,但我需要先将数据转换为二进制格式。这可能是一个简单的问题,但我发现R连接确实令人困惑,而且我一直在找不到以我理解的方式解释它们的好资源。

举个例子,假设我要编码一个整数(8字节)然后编码一个数字(4字节)。这是我试过的代码:

myint <- as.integer(1339700942)
mydouble <- 1.2
obj <- file(open='w+b') #I've tried textConnection too, but no good
w.int <- writeBin(myint, obj, size=8, endian='big')
w.double <- writeBin(mydouble, obj, size=4, endian='big')

这允许我打开连接,但所有写的都是NULL。在这种情况下使用连接和writeBin的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

对象'obj'实际上不是必需的。如果writeBin写入R对象而不是R之外的文件,则最后三行可以替换为:

w.int <- writeBin(myint, raw(0), size=8, endian='big')
w.double <- writeBin(mydouble, raw(0), size=4, endian='big')