如何解码编码字字符串?

2023-12-25

请注意,这个问题与this https://stackoverflow.com/questions/15098452/how-can-i-decode-a-quotedprintable-encoded-string以前未回答的问题。
它也同样是这个 PHP 问题 https://stackoverflow.com/questions/3468849/iso-8859-1-in-mail-subject,但我正在寻找 haskell 的等效项。

RFC 2047 https://www.rfc-editor.org/rfc/rfc2047定义“编码字”编码的标准并提供以下示例:

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

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

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


In the mime https://hackage.haskell.org/package/mime包看看decodeWord https://hackage.haskell.org/package/mime-0.4.0.2/docs/src/Codec-MIME-Decode.html#decodeWord在模块中Codec.MIME.Decode https://hackage.haskell.org/package/mime-0.4.0.2/docs/Codec-MIME-Decode.html:

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

从阅读源代码来看iso-8859-1 and us-ascii都支持。

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

ghci> decodeWords "Foo=?iso-8859-1?q?this=20is=20some=20text?=Bar"
"Foothis is some textBar"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解码编码字字符串? 的相关文章

  • 机器和管道(或其他类似的库)之间的概念区别是什么?

    我想学习这个概念 以便我能够理解和使用诸如machines http hackage haskell org package machines 我试着跟随R nar Bjarnason 关于机器的演讲 https dl dropbox co
  • 用parsec解析递归数据

    import Data Attoparsec Text Lazy import Data Text Lazy Internal Text import Data Text Lazy pack data List a Nil Cons a L
  • 如何在 Yesod 中使用 CSS 框架?

    我想将 Blueprint CSS 框架与 Yesod 一起使用 有没有最佳实践 因为 Yesod 使用 CSS 模板 所以在我看来我不能直接使用 css 文件 我必须将它们重命名为 lucius files 吗 如何将 CSS 添加到 d
  • 整数转浮点数

    这段代码的工作原理 posToXY Float gt Float gt Integer posToXY a b do let y a b round y 但这不起作用 posToXY Integer gt Integer gt Intege
  • 将系统命令的结果绑定到 Haskell 中的变量

    如何在 Haskell 中运行系统命令and将其结果 即标准输出 绑定到变量 在伪 Haskell 中 我正在寻找类似以下内容的内容 import System Process main do output lt callCommand e
  • Haskell:找不到模块“Data.List.Split”

    我正在尝试在 Haskell 中拆分列表 据我所知 最简单的方法是splitOn 但是这个函数需要Data List Split 所以我尝试运行import Data List Split在前奏曲中 但是 我收到以下错误 Could not
  • 这个记忆的斐波那契函数是如何工作的?

    在我正在做的函数式编程课程的当前练习作业中 我们必须制作给定函数的记忆版本 为了解释记忆化 给出以下示例 fiblist fibm x x lt 0 fibm 0 0 fibm 1 1 fibm n fiblist n 1 fiblist
  • Haskell scala 互操作性

    我是 Scala 初学者 来自面向对象范式 在了解 Scala 的函数式编程部分时 我被引导到 Haskell 纯函数式编程语言 探索 SO 问题答案 我发现 Java Haskell 具有互操作性 我很想知道 Scala Haskell
  • 我应该在 Turtle 或 Foldl 包中使用折叠吗?

    我在使用 Turtle 时遇到了一些困难 直到盯着难以理解的错误消息几分钟后才意识到我使用了错误的fold功能 https hackage haskell org package turtle 1 5 8 docs Turtle Shell
  • Haskell:无法预期类型“Integer”与实际类型“Int”

    我已经盯着这段代码有一段时间了 但我无法理解该错误消息 divisors Integer gt Integer divisors n t t lt 1 n mod n t 0 length a gt Integer length 0 len
  • Haskell 中的 print 是纯函数吗?

    Is print在 Haskell 中是纯函数 为什么或者为什么不 我认为不是 因为它并不总是返回与纯函数应返回的值相同的值 类型的值IO Int并不是真正的Int 它更像是一张纸 上面写着 嘿 Haskell 运行时 请生成一个Int如此
  • Haskell - 用防护罩替换外壳

    我想知道在这部分代码中是否可以用守卫替换 case 语句 firstFunction String gt Maybe MyType secondFunction MyType gt Integer myFunction String gt
  • Haskell 中的分类结构

    Hask通常被认为是一个范畴 其对象是类型 态射是函数 然而 我看到 Conor McBride pigworker 警告不要使用Hask多次 1 https stackoverflow com a 45905082 474311 2 ht
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • 如何在 Haskell 中安装库?

    我尝试使用控制 Monad Extra andM https hackage haskell org package extra 1 7 10 docs Control Monad Extra html import Control Mon
  • Haskell 中的中缀运算符优先级

    对于以下 Haskell 表达式 返回 a gt gt f 应该读作 返回a gt gt f or 返回 a gt gt f 这里的相关规则是什么 规则始终是函数应用程序的优先级高于任何运算符 因此 return a gt gt f 被解析
  • 在 Yesod 生态系统中,对某些文本进行 urlencode 的最佳方式是什么?

    我想对一些文本进行 url 编码 例如 用 20 替换每个空格等 我找到了 HTTP Network HTTP Base urlEncode 并且可以使用它 但我想知道是否还有其他通常在 Yesod 生态系统中使用的东西 不幸的是 由于 U
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符
  • Haskell 中的尾递归字符串分割

    我正在考虑分割字符串的问题s在一个字符处c 这表示为 break c s 其中 Haskell 库定义break c 足够接近 br br s h t if c h then s else let h t br t in h h t 假设我
  • 有没有更好的方法将 UTC 时间转换为大纪元时间?

    我想将文件的修改时间设置为从 exif 数据获取的时间 为了从 exif 获取时间 我发现 Graphics Exif getTag Exif gt String gt IO Maybe String 要设置文件修改时间 我发现 Syste

随机推荐

  • 在可扩展列表中以编程方式扩展组行

    我正在使用可扩展列表视图 当单击里面的图像时 我是否可以展开组行 我知道要让图像响应点击 我必须设置其焦点 现在 一旦此图像响应单击 在我的客户适配器内 我如何以编程方式展开 折叠它所属的特定组行 谢谢 在适配器中 private OnIt
  • Windows ssh - 如何在断开连接后保持进程运行

    我想通过 SSH PHP 脚本 启动 java 进程 Minecraft 服务器 并且在断开连接时不应将其关闭 我正在使用适用于 Windows 和 64 位 Java 的 Bitvise SSH 服务器 我可以启动服务器 但如果我与 ss
  • 如何在 Firefox Mobile (Fennec) 扩展的内容脚本中使用 jQuery?

    我正在开发 Firefox Mobile Fennec 扩展 我想在内容脚本中使用 jQuery 最好的方法是什么 我正在桌面版 Firefox Mobile 4 上进行测试 覆盖 js window addEventListener lo
  • 合并两个数组而不使用额外空间

    我有 2 个已排序的数组 a1 and a2 长度l1 and l2 分别 数组a2长度末尾有空格l1 所以它可以容纳所有元素a1除了它本身的元素之外 现在我想合并a1 into a2以便a2将包含以下所有元素a1 and a2按排序顺序
  • 命令行 Jasypt 客户端加密“无法操作”

    我正在使用 Jasypt 以非明文格式将数据库密码存储在休眠配置文件中 例如代替
  • C++ 模板和 ODR 规则

    为什么以下工作在C 我想ODR规则将出现在以下代码中 typedef char int8 class Sample public template
  • 当用户创建挂载点时如何收到通知?

    首先 这是限制 必须在XP上运行 必须通知驱动器盘符分配以及将卷安装到文件夹 如果驱动器正在睡眠 则不得 唤醒 该驱动器 我真的不想轮询驱动器 我尝试过的 Google 我查看了 WMI 和 Win32 LogicalDisk 类 我可以确
  • Linux 上的 Docker - 清空已安装的卷

    我正在尝试让我的 docker 设置在我的 Linux 机器上运行 它在 OSX 上运行良好 我一生都无法将卷正确安装到 Linux 机器上 我使用的是 Elementary OS 0 4 Loki 64 位 码头工人版本 Client V
  • 如何在 OpenCV 中校正裁剪后的立体图像?

    我有一对水平对齐的立体相机 它们是使用图像的全尺寸进行校准的 我通过调用 cv2 initUn DistorifyMap 来获取每个摄像机的地图进行纠正 然后调用 cv2 remap 使用全尺寸图像时 如下所示 map1 map2 cv2
  • 如何在select2框架中使用占位符作为默认值

    获得a的选定值select2我在用着 var x select select2 data var select choice x text 问题是 如果未选择值 则会引发错误 我想知道如果未选择任何选项 是否有任何方法使其返回占位符 您必须
  • 使用 Mathnet 数字库进行 Svd 重组似乎是错误的

    我正在寻找 Mathnet Iridium 和 Mathnet Numerics 之间的非回归 这是我的代码 使用 Mathnet Numerics double symJaggedArray new double 5 symJaggedA
  • Java方法性能中使用final关键字? [复制]

    这个问题在这里已经有答案了 是否使用final在方法参数中允许编译器或运行时环境更快地工作 例如 如果您有一个变量要传递给一个您知道不会被修改并按原样使用的方法 那么声明它是否更有效final 例子 第一种方法应该比第二种方法更快 publ
  • javascript 函数返回不起作用

    我在函数中返回变量时遇到问题 以下脚本工作正常 function sessionStatus document ready function getJSON scriptRoot sessionStatus php function sta
  • k8s - livenessProbe 与 readinessProbe

    考虑一个通过 http 端点进行健康检查设置的 pod health在端口 80 上 需要近 60 秒才能真正准备好并为流量提供服务 readinessProbe httpGet path health port 80 initialDel
  • Excel VBA - 日期格式自动更改

    我试图通过在 Sheets Sheet1 Cells 17 3 Value 中的日期添加一个月来输入日期值 该值是 01 10 2011 但格式为 Oct 11 然后返回 Sheets Sheet1 Cells 17 4 Value LDa
  • 如何根据分辨率调整控件大小?

    在 WinForms 应用程序中 处理调整控件大小以匹配基于屏幕分辨率以及最大化和调整窗口大小的最佳方法是什么 我有 3 列是这样设置的 每列中的标签文本框 您可以将其算作 6 列 我尝试过锚定到右侧 但问题是第 1 列中的文本框将与接下来
  • 带参数的本地化字符串在参数周围添加换行符和括号

    我正在尝试显示包含参数的本地化字符串 结果不是将嵌入参数的字符串显示在一行中 而是显示一个损坏的 3 行字符串 预期结果 The price is 9 99 year Result The price is 9 99 year 可本地化的字
  • boost::与 boost::asio 结合在一起。 boost::bind 不起作用,从示例复制

    有人能告诉我为什么这不能编译吗 我基本上是从 Kholkoff 的一个例子中复制过来的 http lists boost org Archives boost 2007 04 120339 php http lists boost org
  • 使用matlab求级数求和

    当我在 matlab 中写这个时 syms x f x 3 cos x g diff f 它给出的输出为 g 3 x 2 正弦 x Now I want to generate summation series as 我搜索并找到 syms
  • 如何解码编码字字符串?

    请注意 这个问题与this https stackoverflow com questions 15098452 how can i decode a quotedprintable encoded string以前未回答的问题 它也同样是