r - 什么是二进制文件以及何时在 R 中使用 writeBin()

标签 r binaryfiles

我无法理解二进制格式的性质及其在 R 中的用处,所以我做了一些实验:

在 R 中:

y1 = rbind(c('a', 'b'), c('c', 'd'))
write.table(y1, 'f1', quote=F, col.names=F, row.names=F)
conn = file('f2', 'wb')
writeBin('a b\nc d\n', conn)
close(conn)

在 bash 中:
cat f1
# a b
# c d
cat f2
# a b
# c d

这些看起来完全一样,但如果我区分它们:
diff f1 f2
# Binary files f1 and f2 differ

diff 并没有告诉我有什么区别。

那么回到主题,什么是二进制文件(毕竟在 PC 上一切都是二进制文件),我应该在什么情况下在 R 中使用它?

最佳答案

二元苍蝇可以使用任何 256 位模式。 Ascii 和其他文件受到限制。因此,二进制文件显然可以保存 ascii 文本,如上所述,但要灵活得多。

Useful from UMD

来自 docs 的二进制文件的使用

至于你的diff命令,标准行为仅输出它们不同而不为您提供更多信息。我想换行符的编码方式不同。

关于r - 什么是二进制文件以及何时在 R 中使用 writeBin(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133900/

相关文章:

r - 使用 dplyr 将 tibbles 列表除以 R 中的 tibbles 列表

r - 偏差和分数残差图

java - Java 中无法正确读取二进制文件

c - 编写具有固定部分和可变部分 C 的文件

r - R中如何按国家/地区格式化日期?

r - 使用 dplyr 在数据导入中仅保留一个唯一列

C++:如何保存与平台无关的二进制文件?

c - 每次从二进制文件中读取 2 个字节

Spring上传非多部分文件作为流

具有可变列的 read.table