2017-12-08 2 views
0

標準のブラウザ機能を使用して簡単なコードデコードロジックを試しています。atob()とがあります。javascript - atob()とbtoa()関数を使用してbase64からコードを解読します。

私はテストケースが失敗した非常に簡単なテストケース

it('converts from base64 to ascii',() => { 
    const stringA = 'I am Enrico in Asci'; 
    const stringB = atob(stringA); 
    const stringA1 = btoa(stringB); 
    console.log('My ASCCI to binary and viceversa', stringA1); 
    expect(stringA1).toBe(stringA); 
    }); 

を書かれています。 Chromeのコンソールに表示されるのは

Expected 'IamEnricoinAscg=' to be 'I am Enrico in Asci'. 

明らかにすべてのスペースがなくなり、最後の文字が間違っています。 何か助けていただければ幸いです。

+1

'と' btoa'は間違ったやり方です。 stringBは 'btoa'を使用し、stringA1は' atob'を使用します...そして、簡単な方法は、文字列であっても、常にバイナリであると思っていると思います..あるいは、A = Encoded Base64、B =データ。私が知っているBase64エンコーディングの愚かな名前。 – Keith

+0

はい、動作します。ありがとう。私はbase64とviceversaに 'atob' asciiが愚かに想像していた。 – Picci

答えて

2

がなければならないだけで適切な順序でそれを行う、あなたの `ATOBを持っている)

const stringA = 'I am Enrico in Asci'; 
 
    const stringB = btoa(stringA); 
 
    const stringA1 = atob(stringB); 
 
    console.log('stringA', stringA); 
 
    console.log('stringA1', stringA1); 
 
    console.log('equals', stringA === stringA1);

-2
const stringA1 = btoa(stringB); 

あなたは一定の定義、VAR

var stringA1 = btoa(stringB); 
関連する問題