serialize
位于 base
包(package)。 说明
用于序列化连接的简单低级接口。
用法
serialize(object, connection, ascii, xdr = TRUE,
version = NULL, refhook = NULL)
unserialize(connection, refhook = NULL)
参数
object |
R要序列化的对象。 |
connection |
开放的 connection 或(对于 |
ascii |
一个合乎逻辑的。如果是 |
xdr |
逻辑:如果使用二进制表示形式,是否应该使用大尾数表示形式(XDR)? |
version |
要使用的工作区格式版本。 |
refhook |
用于处理引用对象的钩子函数。 |
细节
函数serialize
将object
序列化到指定的连接。如果 connection
是 NULL
则 object
会序列化为原始向量,该向量作为 serialize
的结果返回。
引用对象的共享保留在对象内,但不会跨对 serialize
的单独调用进行保留。
unserialize
从 connection
或原始向量读取对象(由 serialize
编写)。
refhook
函数可用于自定义非系统引用对象的处理(所有外部指针和弱引用,以及除命名空间和包环境以及 .GlobalEnv
之外的所有环境)。 serialize
的钩子函数应该返回它想要处理的引用的字符向量;否则它应该返回 NULL
。 unserialize
的钩子将使用提供给 serialize
的字符向量进行调用,并且应该返回一个适当的对象。
对于文本模式连接,ascii
的默认值设置为 TRUE
:只能将 ASCII 表示形式写入文本模式连接,尝试使用 ascii = FALSE
将引发错误。
该格式由一行后跟数据组成:第一行包含一个字符:X
(用于二进制序列化)和 A
(用于 ASCII 序列化),后跟一个新行。 (使用的格式与 readRDS
使用的格式相同。)
由于当前使用的几乎所有系统都是小端字节序,因此当将数据从一台小端字节序机器传输到另一台小端字节序机器(或在同一台机器上的进程之间)时,可以使用xdr =
FALSE
来避免两端出现byte-shuffling。根据系统的不同,这可以将序列化和反序列化速度加快 3 倍。
值
对于 serialize
、 NULL
,除非 connection = NULL
,当结果以原始向量返回时。
为了unserialize
一个R对象。
警告
这些函数提供了稳定的接口R2.4.0(当序列化对象的存储从字符更改为原始向量时)。但是,序列化格式可能会在未来版本中发生变化R,因此该接口不宜用于长期存储R对象。
在 32 位平台上,原始向量仅限于R对象可以超过此值,并且它们的序列化通常会大于对象。
字节,但是例子
x <- serialize(list(1,2,3), NULL)
unserialize(x)
## see also the examples for saveRDS
也可以看看
saveRDS
用于将对象序列化到文件或连接的更方便的接口。
save
和 load
用于序列化和恢复一个或多个命名对象。
有关所用格式的详细信息,请参阅“R Internals”手册。
相关用法
- R seq.Date 生成规则的日期序列
- R search 给出 R 对象的搜索路径
- R sequence 创建序列向量
- R seek 重新定位连接的函数
- R setTimeLimit 设置 CPU 和/或运行时间限制
- R seq 序列生成
- R seq.POSIXt 生成规则的时间序列
- R sets 设置操作
- R strsplit 分割字符向量的元素
- R solve 求解方程组
- R scan 读取数据值
- R sprintf 使用 C 风格字符串格式化命令
- R stop 停止函数执行
- R sign 标志函数
- R svd 矩阵的奇异值分解
- R strtoi 将字符串转换为整数
- R source 从文件、连接或表达式中读取 R 代码
- R sQuote 引用文字
- R switch 选择替代方案列表之一
- R substitute 替换和引用表达式
- R strrep 重复字符向量的元素
- R split 分组并重新集合
- R slice.index 数组中的切片索引
- R sort 对向量进行排序或排序
- R standardGeneric 形式化方法系统 – 调度 S4 方法
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Simple Serialization Interface。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。