首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R文本编码

R文本编码
EN

Stack Overflow用户
提问于 2015-11-11 13:22:15
回答 2查看 362关注 0票数 0

R数据进出口手册说有一种猜测文本文件编码的好方法是使用" file“命令行工具(在R工具中可用)。一个人怎么用这个?我已经安装了最新版本的Rtools。这是我的R会话可以做的事吗?还是需要打开命令提示符?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-11 13:32:32

R数据进出口手册上下文中,我将其解释为在命令提示符上使用file

但是,您可以从R中调用具有系统()函数的系统命令,例如,如果在当前目录中有一个名为mpi.R的文件,我可以这样做:

代码语言:javascript
复制
> foo <- system('file mpi.R', intern=TRUE, ignore.stdout=FALSE,   ignore.stderr=TRUE, wait=TRUE)
> print(foo)
[1] "mpi.R: ASCII text"
票数 1
EN

Stack Overflow用户

发布于 2015-11-11 13:56:47

这里的“命令提示符”是指“终端”窗口(OS或Linux)或“命令提示符”(Windows)。从这些操作中,您可以访问命令行file实用程序,正如手动声明的那样,该实用工具很好地描述了(文本)文件的类型和格式。

您也可以从R直接运行,使用system()函数传递对file的调用。例如,在我的系统中,在当前的工作目录中,我有三个文本文件:

代码语言:javascript
复制
> list.files(pattern = "*.txt")
[1] "00005802.txt"                                 "googlebooks-eng-all-totalcounts-20120701.txt"
[3] "sentences.txt"                               
> system("file *.txt")
00005802.txt:                                 Par archive data
googlebooks-eng-all-totalcounts-20120701.txt: ASCII text, with very long lines, with no line terminators
sentences.txt:                                ASCII English text, with very long lines

当文件只包含较低的128个ASCII字符时,该文件可能会调用“纯ASCII”,但这将与UTF-8相同,因为这两个编码共享相同的前128个ASCII字符的8位映射。

而且,文件并不总是正确的--例如,00005802.txt实际上是UTF-8编码的文本,我用pdftotext从一个pdf转换而来。

还要注意,在大多数Windows平台上,您不能在R中将系统区域设置为UTF-8,尝试使用Sys.getlocale()。(要设置它,请使用Sys.setlocale())。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33651439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档