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