如何将base64编码数据解码为angularjs中的ascii

时间:2017-01-02 18:09:10

标签: javascript angularjs json

我从api获取json对象,在该对象中,一个字段用base 64格式编码。获得响应后,我需要解码base64数据,并需要在纯文本中显示。 样本数据

{"id":33132,"dataFormat":"TEVOOjA="}//base64 to ascii i.e LEN:0

所需输出 - LEN:0

 <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function ($scope, $http) {
                $http.get('url', {
                    headers: { 'Authorization': 'Basic a2Vybyt==' }
                })
                    .then(function (response) {
                   $scope.names = response.data;
                   $scope.EncodedData = names.dataFrame;
                   $scope.decodedFrame = atob(EncodedData);
                });
            });
    </script>
<h2>{{names.decodedFrame }}</h2>

3 个答案:

答案 0 :(得分:2)

var string = 'Hello World!';

//对字符串进行编码

var encodedString = btoa(string);
console.log(encodedString); // Outputs: "SGVsbG8gV29ybGQh"

//解码字符串

var decodedString = atob(encodedString);
console.log(decodedString); // Outputs: "Hello World!"
Angular中的

HTML:

<div ng-app ng-controller="LoginController">
  <div>encoded jsonData.dataFormat : {{ jsonData.dataFormat }}</div>
  <div>decoded jsonData.dataFormat : {{ decodedFrame }}</div>
</div>

JavaScript:

function LoginController($scope) {
  $scope.jsonData = {
    "id": 33132,
    "dataFormat": "TEVOOjA="
  };
  $scope.decodedFrame = atob($scope.jsonData.dataFormat)
}

JSFiddle:https://jsfiddle.net/nikdtu/2pwauuLu/

答案 1 :(得分:0)

尝试使用像this一样的base64编码器/解码器。

答案 2 :(得分:0)

&#13;
&#13;
s = atob("TEVOOjA=");
console.log(s); //LEN:0
&#13;
&#13;
&#13;

请参阅MDN Web API Reference -- window.atob()