Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 转换缓冲区base64->;utf8编码节点.js_Javascript_Node.js_Encoding_Utf 8_Base64 - Fatal编程技术网

Javascript 转换缓冲区base64->;utf8编码节点.js

Javascript 转换缓冲区base64->;utf8编码节点.js,javascript,node.js,encoding,utf-8,base64,Javascript,Node.js,Encoding,Utf 8,Base64,我的应用程序从GMail的Notes文件夹导入所有邮件。我使用imap npm模块来实现这一点 使用github页面中的示例,我将消息的所有内容放入缓冲区: stream.on('data', function(chunk) { count += chunk.length; buffer += chunk.toString('utf8'); }); 然而,我得到的是这样的句子 0KHQvdCw0YfQsNC70LAg0YHQvtC30LTQsNC10YLRgdGPI

我的应用程序从GMail的Notes文件夹导入所有邮件。我使用imap npm模块来实现这一点

使用github页面中的示例,我将消息的所有内容放入缓冲区:

 stream.on('data', function(chunk) {
     count += chunk.length;
     buffer += chunk.toString('utf8');
 });
然而,我得到的是这样的句子

  0KHQvdCw0YfQsNC70LAg0YHQvtC30LTQsNC10YLRgdGPINGA0LXRiNC10YLQutCwINC/0YDQvtGB 0YLRgNCw0L3RgdGC0LLQsCDQstC+0L7QsdGA0LDQttC10L3QuNGPLiZuYnNwOzxkaXY+PGJyPjwv ZGl2PjxkaXY+0JfQsNGC0LXQvCDQvdCwI
(俄语转换错误)

我发现这些是用base64编码的文本片段,为了读取它们,我需要将其从base64转换为utf8

有时还会出现一个不知从哪里冒出来的恼人的=字符

 letting them f= all on her shoulders
你知道我怎样才能解决这两个问题吗


谢谢大家!

要将base64编码的
字符串转换为utf8,可以使用以下命令:

var base64encoded = '0KHQvdCw0YfQsNC70LAg0YHQvtC30LTQsNC10YLRgdGPINGA0LXRiNC10YLQutCwINC/0YDQvtGB 0YLRgNCw0L3RgdGC0LLQsCDQstC+0L7QsdGA0LDQttC10L3QuNGPLiZuYnNwOzxkaXY+PGJyPjwv ZGl2PjxkaXY+0JfQsNGC0LXQvCDQvdCwI';

var utf8encoded = (new Buffer(base64encoded, 'base64')).toString('utf8');
已被弃用一段时间了,请继续

一个简单的例子可能是:

var utf8encoded = Buffer.from(base64encoded, 'base64').toString('utf8');

为了从base64转换为utf8,您可以使用
(新缓冲区(原始'base64'))。toString('utf8')
。你能提供更多关于
=
问题的详细信息吗?@jabclab这一方法有效,但仅适用于仅包含俄语的缓冲区。如果缓冲区中只有英文文本或英文和俄文,则会产生胡言乱语。我想我需要在转换之前运行一些脚本来识别编码,对吗?@jabclab关于=问题-出于某种原因,有时=符号会随机插入文本中。我似乎找不到它的确切位置。。。谢谢大家!@jabclab你能把它作为一个答案发布吗,因为它对我来说非常有效?
newbuffer()
不推荐使用稳定性:0,请参阅。