Elixir語言中 URI.encode_query
相關用法介紹如下。
用法:
encode_query(enumerable, encoding \\ :www_form)
@spec encode_query(Enum.t(), :rfc3986 | :www_form) :: binary()
使用 encoding
將 enumerable
編碼為查詢字符串。
采用枚舉為二元素元組列表(例如,映射或關鍵字列表)的枚舉,並以 key1=value1&key2=value2...
的形式返回字符串。
鍵和值可以是實現
協議的任何術語,但明確禁止的列表除外。String.Chars
您可以指定以下 encoding
策略之一:
-
:www_form
-(默認,自 v1.12.0 起)鍵和值按照encode_www_form/1
-
:rfc3986
-(從 v1.12.0 開始)與:www_form
相同,隻是它根據 RFC 3986 將 " " 編碼為 "%20"。如果您在非瀏覽器情況下進行編碼,這是最好的選擇,因為將空格編碼為 "+" 對於 URI 解析器可能會產生歧義。這可能會無意中導致空格被解釋為文字加號。
為了向後兼容,編碼默認為:www_form
。
例子
iex> query = %{"foo" => 1, "bar" => 2}
iex> URI.encode_query(query)
"bar=2&foo=1"
iex> query = %{"key" => "value with spaces"}
iex> URI.encode_query(query)
"key=value+with+spaces"
iex> query = %{"key" => "value with spaces"}
iex> URI.encode_query(query, :rfc3986)
"key=value%20with%20spaces"
iex> URI.encode_query(%{key: [:a, :list]})
** (ArgumentError) encode_query/2 values cannot be lists, got: [:a, :list]
相關用法
- Elixir URI.encode_www_form用法及代碼示例
- Elixir URI.encode用法及代碼示例
- Elixir URI.decode用法及代碼示例
- Elixir URI.parse用法及代碼示例
- Elixir URI.new用法及代碼示例
- Elixir URI.merge用法及代碼示例
- Elixir URI.new!用法及代碼示例
- Elixir URI.char_reserved?用法及代碼示例
- Elixir URI.default_port用法及代碼示例
- Elixir URI.query_decoder用法及代碼示例
- Elixir URI.char_unescaped?用法及代碼示例
- Elixir URI.to_string用法及代碼示例
- Elixir URI.char_unreserved?用法及代碼示例
- Elixir URI.decode_query用法及代碼示例
- Elixir URI.decode_www_form用法及代碼示例
- Elixir StringIO.flush用法及代碼示例
- Elixir Calendar.ISO.date_to_string用法及代碼示例
- Elixir Enum.unzip用法及代碼示例
- Elixir Date.add用法及代碼示例
- Elixir Keyword.get用法及代碼示例
- Elixir Stream用法及代碼示例
- Elixir Registry.count_match用法及代碼示例
- Elixir List.keyfind!用法及代碼示例
- Elixir Integer.pow用法及代碼示例
- Elixir NaiveDateTime用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 URI.encode_query(enumerable, encoding \\ :www_form)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。