如何将quoted-printable内容解码为node.js中的普通字符串?

时间:2012-11-01 03:57:38

标签: javascript node.js

例如,我有一个字符串“this = 20is = 20a = 20string”,我想将其转换为“这是一个字符串”。

是否有库函数或npm模块可以执行此操作,还是应该使用自己的函数来执行此操作?

2 个答案:

答案 0 :(得分:7)

使用mimelib:

var mimelib = require("mimelib");
mimelib.decodeQuotedPrintable("this=20is=20a=20string") === "this is a string"
mimelib.decodeMimeWord("=?iso-8859-1?Q?=27text=27?=") === "'text'"

答案 1 :(得分:1)

s = "this=20is=20a=20string"
s.replace(/=20/g, ' '); // => "this is a string"

虽然如果=20是十六进制字符数(由“=”而不是“%”分隔?),那么这将更为通用:

"foo=21".replace(/=([A-Fa-f0-9]{2})/g, function(m, g1) {
  return String.fromCharCode(parseInt(g1, 16));
}); // => "foo!"