请注意,此问题与this以前未回答的问题相同 它也与this PHP question相同,但我正在寻找等效的haskell。
RFC 2047定义" encoded-word"的标准。编码并提供了一个例子:
=?iso-8859-1?q?this=20is=20some=20text?=
是否有标准的haskell库来处理将其解码为正确的Text
表示?
使用parsec和RFC Spec编写自定义解析器应该太难了,但这似乎是其他语言中常见的,已解决的问题,我找不到Haskell的等价物,而且我也是如此。而不是在这里重新发明轮子。
答案 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-1
和us-ascii
。
还有decodeWords
使用decodeWord
函数翻译整个字符串:
ghci> decodeWords "Foo=?iso-8859-1?q?this=20is=20some=20text?=Bar"
"Foothis is some textBar"