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

问题描述 投票:6回答:2

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

haskell urlencode yesod
2个回答
6
投票

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

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


1
投票

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

我只需要:

encode :: String -> String

你可以想象,所有这一切都需要一个字符串,并返回URI编码版本。

© www.soinside.com 2019 - 2024. All rights reserved.