Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / js-base64 / README.md
1 [![build status](https://secure.travis-ci.org/dankogai/js-base64.png)](http://travis-ci.org/dankogai/js-base64)
2
3 # base64.js
4
5 Yet another Base64 transcoder
6
7 ## Install
8
9 ```javascript
10 $ npm install --save js-base64
11 ```
12
13 If you are using it on ES6 transpilers, you may also need:
14
15 ```javascript
16 $ npm install --save babel-preset-env
17 ```
18
19 Note `js-base64` itself is stand-alone so its `package.json` has no `dependencies`.  However, it is also tested on ES6 environment so `"babel-preset-env": "^1.7.0"` is on `devDependencies`.
20
21
22 ## Usage
23
24 ### In Browser
25
26 ```html
27 <script src="base64.js"></script>
28 ```
29
30 ### node.js
31
32 ```javascript
33 var Base64 = require('js-base64').Base64;
34 ```
35
36 ## es6+
37
38 ```javascript
39 import { Base64 } from 'js-base64';
40 ```
41
42 ## SYNOPSIS
43
44 ```javascript
45 Base64.encode('dankogai'); // ZGFua29nYWk=
46 Base64.btoa(  'dankogai'); // ZGFua29nYWk=
47 Base64.fromUint8Array(     // ZGFua29nYWk=
48     new Uint8Array([100,97,110,107,111,103,97,105])
49 );
50 Base64.fromUint8Array(     // ZGFua29nYW which is URI safe
51     new Uint8Array([100,97,110,107,111,103,97,105]), true
52 );
53 Base64.encode(   '小飼弾'); // 5bCP6aO85by+
54 Base64.encodeURI('小飼弾'); // 5bCP6aO85by- which equals to Base64.encode('小飼弾', true)
55 Base64.btoa(     '小飼弾'); // raises exception 
56 ```
57
58 ```javascript
59 Base64.decode('ZGFua29nYWk=');  // dankogai
60 Base64.atob(  'ZGFua29nYWk=');  // dankogai
61 Base64.toUint8Array(            // new Uint8Array([100,97,110,107,111,103,97,105])
62     'ZGFua29nYWk='
63 );
64 Base64.decode('5bCP6aO85by+');  // 小飼弾
65 // note .decodeURI() is unnecessary since it accepts both flavors
66 Base64.decode('5bCP6aO85by-');  // 小飼弾
67 Base64.atob(  '5bCP6aO85by+');  // 'å°\8f飼弾' which is nonsense
68 ```
69
70 ### String Extension for ES5
71
72 ```javascript
73 if (Base64.extendString) {
74     // you have to explicitly extend String.prototype
75     Base64.extendString();
76     // once extended, you can do the following
77     'dankogai'.toBase64();        // ZGFua29nYWk=
78     '小飼弾'.toBase64();           // 5bCP6aO85by+
79     '小飼弾'.toBase64(true);       // 5bCP6aO85by-
80     '小飼弾'.toBase64URI();        // 5bCP6aO85by-
81     'ZGFua29nYWk='.fromBase64();  // dankogai
82     '5bCP6aO85by+'.fromBase64();  // 小飼弾
83     '5bCP6aO85by-'.fromBase64();  // 小飼弾
84 }
85 ```
86
87 ### TypeScript
88
89 TypeScript 2.0 type definition was added to the [DefinitelyTyped repository](https://github.com/DefinitelyTyped/DefinitelyTyped).
90
91 ```bash
92 $ npm install --save @types/js-base64
93 ```
94
95 ## `.decode()` vs `.atob` (and `.encode()` vs `btoa()`)
96
97 Suppose you have:
98
99 ```
100 var pngBase64 = 
101   "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
102 ```
103
104 Which is a Base64-encoded 1x1 transparent PNG, **DO NOT USE** `Base64.decode(pngBase64)`.  Use `Base64.atob(pngBase64)` instead.  `Base64.decode()` decodes to UTF-8 string while `Base64.atob()` decodes to bytes, which is compatible to browser built-in `atob()` (Which is absent in node.js).  The same rule applies to the opposite direction.
105
106
107 ## SEE ALSO
108
109 + http://en.wikipedia.org/wiki/Base64