如何解码编码字串?

时间:2016-08-16 21:48:06

标签: haskell

请注意,此问题与this以前未回答的问题相同 它也与this PHP question相同,但我正在寻找等效的haskell。

RFC 2047定义" encoded-word"的标准。编码并提供了一个例子:

=?iso-8859-1?q?this=20is=20some=20text?=

是否有标准的haskell库来处理将其解码为正确的Text表示?

使用parsec和RFC Spec编写自定义解析器应该太难了,但这似乎是其他语言中常见的,已解决的问题,我找不到Haskell的等价物,而且我也是如此。而不是在这里重新发明轮子。

1 个答案:

答案 0 :(得分:3)

build-helper-maven-plugin包中查看模块mime中的decodeWord

ghci> import Codec.MIME.Decode
ghci> decodeWord "=?iso-8859-1?q?this=20is=20some=20text?="
Just ("this is some text","")

通过阅读源代码,支持iso-8859-1us-ascii

还有decodeWords使用decodeWord函数翻译整个字符串:

ghci> decodeWords "Foo=?iso-8859-1?q?this=20is=20some=20text?=Bar"
"Foothis is some textBar"