2

我有一个脚本可以提取有时可能具有 UTF-8字节顺序标记 (BOM)的文件或连接。我写了这一行来处理删除不需要的字符:

text_wo_BOM <- sub(rawToChar(as.raw(c(0x5e, 0xef, 0xbb, 0xbf))), "", text_with_BOM)

但是,在这样做的同时,我注意到我的 GNU-Linux 环境没有打印字符,但我的 Windows 环境却打印了。两者都运行 R 3.4.x。

Linux

rawToChar(as.raw(c(0xef, 0xbb, 0xbf)))
## [1] ""

视窗

rawToChar(as.raw(c(0xef, 0xbb, 0xbf)))
## [1] ""

GNU-Linux 和 Windows 之间的模式匹配行为似乎是相同的,例如, 。但是,对于某些操作,Linux 不会将 BOM 计为字符,但 Windows 会。因此,诸如或之类的功能会因操作系统而异。grepsub regexprsubstrsubstring

我的问题

有什么方法可以强制我的 Linux 机器模仿 Windows 的行为,反之亦然?

谢谢!

4

0 回答 0