0

我有一个 UTF-8 编码的文本文件,每行一个标记。我想把它读成向量。这是在 MSWindows 版本 3.0.1 上。我知道默认编码是 UTF-8,对吧?

我正在寻找类似的代码片段

http://www.mayin.org/ajayshah/KB/R/html/r4.html

来自“R 示例”

http://www.mayin.org/ajayshah/KB/R/index.html

但是他们没有 UTF-8 示例,只有 ASCII。

4

1 回答 1

1

您可以使用 read.table() 读取它,然后将列提取为向量,或者使用 scan()。

 vect <- scan(file="path/to/file1.txt", what=character(0) )

您不需要使用 UTF-8 作为编码,因为您知道它是默认值,但是可以选择这样做:

vect <- scan(file="path/to/file1.txt", what=character(0), encoding="UTF-8" )

R 3.0.0 的 NEWS 文件说:

" o UTF-8 语言环境中的 readLines() 和 scan()(因此 read.table())现在丢弃 UTF-8 字节顺序标记 (BOM)。Unicode 标准允许但不推荐此类 BOM :但是 Microsoft 应用程序可以生成它们,因此有时可以在网站上找到它们。

连接的编码名称“UTF-8-BOM”将确保丢弃 UTF-8 BOM。"

因此,可能需要 encoding 参数表明您使用的是非 UTF-8 语言环境并且没有告诉我们,或者您使用的是过时的 R 版本?

于 2013-08-02T15:28:19.517 回答