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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。