需求为: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 中的文法定义: