Javascript decode = C3 = B3引用可打印

时间:2014-09-12 20:48:24

标签: javascript encoding

我搜索了很多,但无法找到解决方案,我想解码像

这样的词
  

Documentaci = C3 = B3n => Documentación

在javascript中,但我不能。

当word就像

时,我试图转换为utf8
  

Documentaci%C3%B3N

我可以,但从不与

  

表示“=”而不是“%”。

如果有帮助,我会从电子邮件中删除该文本。

如果你能帮助我,请提前致谢。

1 个答案:

答案 0 :(得分:3)

只需将'='替换为'%':

var str = "Documentaci=C3=B3n";
str = str.replace(/={1}/g, '%');
str = decodeURI(str);

它对我有用:http://jsfiddle.net/5bkpw5kw/1/

UPD1 :这是'quoted-printable'编码,可以从raw字母中学习。我用Google搜索并尝试处理函数,其中一些是

..和others

我还从https://mothereff.in/quoted-printable获取了代码段(非beautified脚本嵌入html):

var j = String.fromCharCode;
var a = function(l) {
    return l.replace(/[\t\x20]$/gm, "").replace(/=?(?:\r\n?|\n)/g, "").replace(/=([a-fA-F0-9]{2})/g, function(n, m) {
        var o = parseInt(m, 16);
        return j(o)
    })
};

所有人都给我Documentación,但是sinse说片段在mothereff.in上工作正常我认为它们都是有效的。这必须是我还没有解决的一些UTF-8问题。请参阅thisgoogle

更新了小提琴:http://jsfiddle.net/5bkpw5kw/2/

UPD2 :作者http://jsfiddle.net/fyoc1bvk/2

的工作示例