js中如何解邮件体中的GB2312编码?

需求为:node环境下,将一串用GB2312编码的、以%开头的字符串解码为UTF8编码的文字。

原始内容:"GB2312''%B2%E2%CA%D4%B8%BD%BC%FE%D2%BB%5F21.jpg"
目的内容:"测试附件一.jpg"

我找到了iconv-lite库,其用法如下:

var iconv = require('iconv-lite'); 
console.log(iconv.decode(new Buffer([0xB2, 0xE2, 0xCA, 0xD4, 0xB8, 0xBD, 0xBC, 0xFE, 0xD2, 0xBB, 0x5F]), 'GB2312'))
// 输出 "测试附件一"

但我不太满意,较复杂,有更好的解决建议吗?
谢谢!

--
背景:
做邮件应用,用node-imap接收邮件,接收到的附件文件名,其编码是按 RFC2231 中的文法定义:

clipboard.png

阅读 3.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题