我无法理解二进制格式的性质及其在 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/