3

im getting json object from the api , in that object one field is encoded with base 64 format. after getting the response i need to decode the base64 data and need to show in the plain text. sample data

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

desired output - 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>
Swapna
  • 403
  • 3
  • 6
  • 24
  • See [MDN Web API Reference -- window.atob()](https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/atob). – georgeawg Jan 03 '17 at 04:13

3 Answers3

10
var string = 'Hello World!';

// Encode the String

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

// Decode the String

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

in 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/

Nikhil Maheshwari
  • 2,198
  • 18
  • 25
0

Try using a base64 encoder/decoder like this one.

Rui Silva
  • 413
  • 1
  • 5
  • 12
0

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

See MDN Web API Reference -- window.atob()

georgeawg
  • 48,608
  • 13
  • 72
  • 95