當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Elixir URI.query_decoder用法及代碼示例

Elixir語言中 URI.query_decoder 相關用法介紹如下。

用法:

query_decoder(query, encoding \\ :www_form)
@spec query_decoder(binary(), :rfc3986 | :www_form) :: Enumerable.t()

返回表示給定 query 中鍵值對的二元素元組流。

每個元組中的鍵和值將是二進製文件,並且將是percent-unescaped。

您可以指定以下 encoding 選項之一:

  • :www_form -(默認,自 v1.12.0 起)鍵和值按照 decode_www_form/1 進行解碼。這是瀏覽器通常用於查詢字符串和表單數據的格式。它將"+"解碼為" "。

  • :rfc3986 -(自 v1.12.0 起)鍵和值按照 decode/1 進行解碼。結果與 :www_form 相同,隻是將 "+" 與 RFC 3986 保持一致。

為了向後兼容,編碼默認為:www_form

例子

iex> URI.query_decoder("foo=1&bar=2") |> Enum.to_list()
[{"foo", "1"}, {"bar", "2"}]

iex> URI.query_decoder("food=bread%26butter&drinks=tap%20water+please") |> Enum.to_list()
[{"food", "bread&butter"}, {"drinks", "tap water please"}]

iex> URI.query_decoder("food=bread%26butter&drinks=tap%20water+please", :rfc3986) |> Enum.to_list()
[{"food", "bread&butter"}, {"drinks", "tap water+please"}]

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 URI.query_decoder(query, encoding \\ :www_form)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。