我想对某些文本进行网址编码(例如,用%20替换每个空格等)。我找到了“HTTP”Network.HTTP.Base.urlEncode并且可以使用它,但我想知道Yesod生态系统中是否还有其他东西。
答案 0 :(得分:6)
不幸的是,由于URL转义的复杂性,真正的答案是“它取决于”。例如,路径段和查询字符串的百分比编码规则略有不同。
我不知道你要编码的确切内容,但我建议坚持使用http-types包。一个开始的地方是urlEncode,尽管该包中还有许多其他功能(例如@jamshidh提到的encodePathSegments
)值得一看。
答案 1 :(得分:1)
据我了解,URI编码很复杂。但是对于我的简单案例,我能够使用uri-encode包。
我所需要的只是:
encode :: String -> String
正如您所能想象的那样,只需要一个字符串,然后返回URI编码的版本。