2017-01-02 39 views
0

即时通讯从api获取json对象,在该对象中,一个字段使用base 64格式进行编码。获得响应后,我需要解码base64数据,并需要以纯文本显示。 样本数据如何将base64编码的数据解码为asji in angularjs

{"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> 
+0

请参阅[MDN Web API参考 - window.atob()](https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/atob)。 – georgeawg

回答

1
var string = 'Hello World!'; 

//编码字符串

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

//解码字符串

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

在角

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/

+0

我dnt有原始文本,我只能解码编码文本 – Swapna

+0

@Swapna:只使用上述建议代码的解码部分。 encodedString =“TEVOOjA =”; var decodedString = atob(encodedString); console.log(decodedString); –

+0

谢谢。如何发送单个值$ scope.decodedFrame = atob(names.dataFrame);即时通讯使用json对象。在这一个领域是我需要解码的数据帧 – Swapna

0

尝试使用base64编码器/解码器等this之一。