よりもノードで異なる働き、そして、私は、Python、PerlやPHPでいくつかの作業例を発見した、と私はノードで同等のコードを書きました私は問題に遭遇しました。 Nodeのbase64デコーダは他の3つの言語と同じように動作しないようです。 PythonでPerlでbase64でデコードは私が認証文字列のためにbase64でトークンをデコードする必要がPHPやPerlやPython
my $token = 'BaSe64sTRiNghERe';
my $decoded_token = decode_base64($token);
print $decoded_token;
戻ってこれを実行する
token = 'BaSe64sTRiNghERe'
decoded_token = token.decode('base64')
print decoded_token
戻り、この文字列
???のF# `?D^
これを実行する
th文字列
???のF# `?D^
これを実行するPHP
で$token = 'BaSe64sTRiNghERe';
$decoded_token = base64_decode($token, true);
echo $decoded_token;
戻り、この文字列
??? F#が`?D ^です
、最終的には、ノードのスクリプトで
var token = 'BaSe64sTRiNghERe',
decoded_token = Buffer.from(token, 'base64').toString();
console.log(decoded_token);
戻り、この文字列
、なぜ余分に疑問符デコードされた文字列で? Perl、Python、PHPのようにNodeで同じ結果を得るにはどうしたらいいですか?????のF#を `これを実行している?D^
質問がある
UPDATE
コマンドライン
echo BaSe64sTRiNghERe | base64 --decode
でこれを実行すると、私はPerlやPythonとPHPスクリプト
が、ノード から同じコマンドを実行するのと同じ出力を提供しますvar exec = require('child_process').exec;
exec('echo BaSe64sTRiNghERe | base64 --decode', function callback(error, stdout, stderr){
console.log(stdout);
});
I S間違ったものを得るまで。あなたが印刷できない文字を生成しており、ノードは他の言語とは異なるものを印刷できない文字を扱うように見えるので、
実際のトークンで試しましたか? 'QmFTZTY0c1RSaU5naEVSZQ ==' - それはまた、上の 'BaSe64sTRiNghERe' – furas