在Yesod生态系统中,对某些文本进行urlencode的最佳方法是什么?

时间:2013-12-19 06:43:13

标签: haskell urlencode yesod

我想对某些文本进行网址编码(例如,用%20替换每个空格等)。我找到了“HTTP”Network.HTTP.Base.urlEncode并且可以使用它,但我想知道Yesod生态系统中是否还有其他东西。

2 个答案:

答案 0 :(得分:6)

不幸的是,由于URL转义的复杂性,真正的答案是“它取决于”。例如,路径段和查询字符串的百分比编码规则略有不同。

我不知道你要编码的确切内容,但我建议坚持使用http-types包。一个开始的地方是urlEncode,尽管该包中还有许多其他功能(例如@jamshidh提到的encodePathSegments)值得一看。

答案 1 :(得分:1)

据我了解,URI编码很复杂。但是对于我的简单案例,我能够使用uri-encode包。

我所需要的只是:

encode :: String -> String

正如您所能想象的那样,只需要一个字符串,然后返回URI编码的版本。