节点:将utf8字符串转换为base64以上载为Parse.com文件

时间:2015-04-09 10:54:50

标签: node.js unicode encoding parse-platform base64

我不确定这个问题是否特定于Parse.com或我对NodeJS编码的基本理解有问题。

我一直在使用Parse上传文本文件 - 这很好用,但看起来文件内容不是UTF8编码的(根据我在浏览器中的数据浏览器中看到的内容)。

在保存文件以确保文本存储为unicode之前,我应该做些什么吗?

我用来上传的代码是:

//test string
var a = '検索 • Busca • Sök • 搜尋 • Tìm kiếm • Пошук';

//trying to convert to base64
var buff = new Buffer(a, 'utf8').toString("base64");

var parseFile = new Parse.File("test.txt", {
    base64: buff
}, 'text/plain');

//saves successfully
parseFile.save().then(function() {
    var Test = Parse.Object.extend('Testing');
    var uv = new Test();
    uv.set('hello', parseFile);
    return uv.save(null, {});


}).then(function() {
    console.log('Saved');
}, function(error) {
    console.error(JSON.stringify(error));
});

当我从数据资源管理器中查看test.txt时,我看到:

検索 • Busca • Sök • æœå°‹ • Tìm kiếm • Пошук

当我尝试使用上面的相同代码使用require('fs')保存到磁盘时,一切都按预期工作。

1 个答案:

答案 0 :(得分:1)

您正在使用的数据资源管理器认为该文件是UTF-16字节编码到Base-64中(这很容易验证)。你不应该担心,数据是正确的,表示是错误的。数据查看器不会改变您的数据,因此无关紧要。