Javascript - 使用atob()和btoa()函数从base64进行编码和解码

时间:2017-12-08 10:26:34

标签: javascript base64

我正在尝试一些简单的代码 - 使用标准浏览器功能atob()btoa()解码逻辑,我遇到了我无法完全理解的行为。

我写了一个非常简单的测试用例

 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'.

显然所有空间都已消失,结束角色错误。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

按正确顺序执行;)

    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);

答案 1 :(得分:-2)

class EventTest
{
  void Test()
  {
    Channel              c  = null ;
    IChannelEvents_Event ee = c as IChannelEvents_Event ;

    ee.OnlineValue += OnlineValue ;
  }

  void OnlineValue ( double        dValue,
                     double        dMax,
                     double        dMin,
                     string        Unit,
                     bool          bOverloaded )
  {
  }
}

你定义常量,必须有var

const stringA1 = btoa(stringB);