nodejs:BASE64エンコード、nodejs C++、Pythonの結果は切り抜いある
var test = 'VdEU+Q2J5qfwsn9xshAcEImDSnxTR8RkRLlLmyNaeos=';
var result = new Buffer(test, 'base64').toString()
//var buf = Buffer.from(test, 'base64');
//var result = new Buffer(test, 'base64').toString("utf8");
var fs = require('fs');
fs.writeFile("test.txt",result,function(e){//会先清空原先的内容
if(e) throw e;
})
パイソン:
import base64
result = base64.b64decode('VdEU+Q2J5qfwsn9xshAcEImDSnxTR8RkRLlLmyNaeos=')
file_object = open('thefile.txt', 'w')
file_object.write(result)
file_object.close()
C++:(Iはlibcefの基本ライブラリのBASE64を使用):
const std::string kText = "VdEU+Q2J5qfwsn9xshAcEImDSnxTR8RkRLlLmyNaeos=";
std::string encoded;
base::Base64Decode(kText, &encoded);
FILE *pFile = fopen("1.txt", "wb+");
fwrite(encoded.c_str(), encoded.length(), 1, pFile);
fclose(pFile);
結果PythonであるC++は同じですが、nodejsは異なります
あなたはどちらが正しいと思いますか?なぜですか? –
python C++が正しいです。私はopenidで使用されているPythonのAPIを使用しますが、node64のapiを作成します。間違った場所は、base64のデコード時にdiffentなので、この場所です。 –
@stone_jbあなたはここの出力も表示します – Iceman