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

qed*_*qed 5 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)
Run Code Online (Sandbox Code Playgroud)

在 bash 中:

cat f1
# a b
# c d
cat f2
# a b
# c d
Run Code Online (Sandbox Code Playgroud)

这些看起来完全一样,但如果我区分它们:

diff f1 f2
# Binary files f1 and f2 differ
Run Code Online (Sandbox Code Playgroud)

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

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

vro*_*del 0

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

来自 UMD 的有用信息

以及文档中二进制文件的用途

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