inflateSetDictionary(Z, Dictionary) -> ok
类型:
Z = zstream()
Dictionary = iodata()
从指定的未压缩字节序列初始化解压缩字典。必须调用此函数作为对 inflate 操作的响应(例如safeInflate/2
)返回{need_dictionary,Adler,Output}
或者在不推荐使用的函数的情况下,抛出{'EXIT',{{need_dictionary,Adler},_StackTrace}}
异常。
压缩器选择的字典可以根据调用 inflate 函数返回或抛出的 Adler 值来确定。压缩器和解压缩器必须使用相同的字典(参见
deflateSetDictionary/2
)。
设置字典后,应在没有新输入的情况下重试 inflate 操作。
例子:
deprecated_unpack(Z, Compressed, Dict) ->
case catch zlib:inflate(Z, Compressed) of
{'EXIT',{{need_dictionary,_DictID},_}} ->
ok = zlib:inflateSetDictionary(Z, Dict),
Uncompressed = zlib:inflate(Z, []);
Uncompressed ->
Uncompressed
end.
new_unpack(Z, Compressed, Dict) ->
case zlib:inflate(Z, Compressed, [{exception_on_need_dict, false}]) of
{need_dictionary, _DictId, Output} ->
ok = zlib:inflateSetDictionary(Z, Dict),
[Output | zlib:inflate(Z, [])];
Uncompressed ->
Uncompressed
end.
相关用法
- erlang inflateChunk(Z, Data)用法及代码示例
- erlang info()用法及代码示例
- erlang info_lib()用法及代码示例
- erlang info_msg(Format)用法及代码示例
- erlang info_report(Report)用法及代码示例
- erlang info(QH)用法及代码示例
- erlang init(UserData :: user_data(), AccessMode :: write | read, Fun :: file_op())用法及代码示例
- erlang insert_element(Index, Tuple1, Term)用法及代码示例
- erlang integer_to_binary(Integer)用法及代码示例
- erlang integer_to_binary(Integer, Base)用法及代码示例
- erlang integer_to_list(Integer)用法及代码示例
- erlang integer_to_list(Integer, Base)用法及代码示例
- erlang in(Item, Q1 :: queue(Item))用法及代码示例
- erlang in_r(Item, Q1 :: queue(Item))用法及代码示例
- erlang init(Q1 :: queue(Item))用法及代码示例
- erlang init_ack(Ret)用法及代码示例
- erlang intersect(Map1, Map2)用法及代码示例
- erlang intersect_with(Combiner, Map1, Map2)用法及代码示例
- erlang inspect(MP, Item)用法及代码示例
- erlang intersection_of_family(Family)用法及代码示例
- erlang inverse(Function1)用法及代码示例
- erlang inverse_image(BinRel, Set1)用法及代码示例
- erlang is_file用法及代码示例
- erlang is_dir用法及代码示例
- erlang is_atom用法及代码示例
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 inflateSetDictionary(Z, Dictionary) -> ok。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。