readChar
位于 base
包(package)。 说明
将字符串传输到连接或从连接传输字符串,而不假设它们在连接上以空终止。
用法
readChar(con, nchars, useBytes = FALSE)
writeChar(object, con, nchars = nchar(object, type = "chars"),
eos = "", useBytes = FALSE)
参数
con |
connection 对象,或命名文件的字符串,或原始向量。 |
nchars |
整数向量,给出要读取或写入的(未终止的)字符串的字符长度。元素必须 >= 0 并且不是 |
useBytes |
逻辑:对于 |
object |
要写入连接的字符向量,至少与 |
eos |
‘字符串结尾’:字符串。要在每个字符串之后写入的终止符,后跟 ASCII |
细节
这些函数补充了 readBin
和 writeBin
,它们读写 C 风格的 zero-terminated 字符串。它们适用于已知长度的字符串,并且可以选择写入 end-of-string 标记。它们仅适用于当前区域设置中有效的字符串。
这些函数旨在与binary-mode 连接一起使用。如果con
是字符串,则函数调用file
来获取在函数调用期间打开的binary-mode 文件连接。
如果连接打开,则从当前位置读取/写入。如果未打开,则在调用期间以适当的模式(二进制读或写)打开它,然后再次关闭。打开的连接必须处于二进制模式。
如果使用 con
原始向量调用 readChar
,则向量中的数据将用作输入。如果使用 con
原始向量调用 writeChar
,则仅指示应返回原始向量。
包含 ASCII nul
的字符串将被 readChar
正确读取,但会在第一个 nul
处被截断并出现警告。
如果 readChar
请求的字符长度长于连接上可用的数据,则返回可用的数据。对于writeChar
,如果请求的字符过多,则输出将以零填充,并带有警告。
缺失的字符串被写为 NA
。
值
对于 readChar
,长度为读取的项目数的字符向量(可能小于 length(nchars)
)。
对于 writeChar
,原始向量(如果 con
是原始向量)或不可见的 NULL
。
注意
早期版本R允许在字符串中嵌入 nul 字节,但不允许R>= 2.8.0。readChar
通常用于读取固定大小的零填充字节字段,其中readBin
不合适。readChar
如果没有嵌入的 null ,仍然可以用于此类字段:否则readBin(what = "raw")
提供了一种替代方案。
在非 UTF-8 多字节语言环境中,nchars
将被解释为字节而不是字符,并带有警告。
对 UTF-8 读取的有效性检查很少。
在文本模式连接上使用这些函数可能会起作用,但不应与对连接的文本模式访问混合使用,特别是在使用 encoding
参数打开连接时。
例子
## test fixed-length strings
zzfil <- tempfile("testchar")
zz <- file(zzfil, "wb")
x <- c("a", "this will be truncated", "abc")
nc <- c(3, 10, 3)
writeChar(x, zz, nc, eos = NULL)
writeChar(x, zz, eos = "\r\n")
close(zz)
zz <- file(zzfil, "rb")
readChar(zz, nc)
readChar(zz, nchar(x)+3) # need to read the terminator explicitly
close(zz)
unlink(zzfil)
也可以看看
“R 数据导入/导出”手册。
相关用法
- R readRenviron 从文件设置环境变量
- R readRDS 单个对象的序列化接口
- R readline 从终端读取一行
- R readBin 与连接之间传输二进制数据
- R readLines 从连接读取文本行
- R remove 从指定环境中删除对象
- R rep 复制向量和列表的元素
- R reg.finalizer 对象的最终确定
- R rev 反转元素
- R regmatches 提取或替换匹配的子字符串
- R replace 替换向量中的值
- R rank 样本排名
- R rapply 递归地将函数应用于列表
- R raw 原始向量
- R rawConnection 原始连接
- R row 行索引
- R row.names 获取和设置 DataFrame 的行名称
- R rowsum 根据分组变量给出矩阵或 DataFrame 的列和
- R range 值范围
- R rle 游程长度编码
- R round.POSIXt 舍入/截断日期时间对象
- R rawConversion 与(位/打包)原始向量之间的转换
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Transfer Character Strings To and From Connections。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。