Elixir 中的encodeURIComponent

cro*_*ile 2 uri elixir encodeuricomponent

寻找 Elixir 方法来编码 uri 组件,即 基本上我想要encode_query,但不必进行键值映射,并将空格编码为 %20,而不是 +javascript encodeURI("&") "&" encodeURIComponent("&") "%26" Elixir URI.encode("&") "&" pry(11)> URI.encode_query(%{k: " & "})
"+k=%26+"

cro*_*ile 5

找到解决方案,uri.encode的 def char_unescaped?(char) when char in 0..0x10FFFF do char_reserved?(char) or char_unreserved?(char) end 第二个参数有默认参数,通过传递char_unreserved,该函数现在将对保留字符进行编码

URI.encode(" & ", &URI.char_unreserved?(&1)) "%20%26%20"