Windowï¼btoa() æ¹æ³
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
Window æ¥å£ç btoa() æ¹æ³å¯ä»¥å°ä¸ä¸ªäºè¿å¶å符串ï¼ä¾å¦ï¼å°å符串ä¸çæ¯ä¸ä¸ªåèé½è§ä¸ºä¸ä¸ªäºè¿å¶æ°æ®åèï¼ç¼ç 为 Base64 ç¼ç ç ASCII å符串ã
ä½ å¯ä»¥ä½¿ç¨è¿ä¸ªæ¹æ³æ¥å¯¹å¯è½éå°éä¿¡é®é¢çæ°æ®è¿è¡ç¼ç ï¼ç¶åä½¿ç¨ Window.atob() æ¹æ³æ¥å¯¹æ°æ®è¿è¡è§£ç ãä¾å¦ï¼ä½ å¯ä»¥å¯¹ ASCII ä¸çæ§å¶å符ï¼å¼ä¸º 0 å° 31 çå符ï¼è¿è¡ç¼ç ã
è¯æ³
btoa(stringToEncode)
åæ°
stringToEncode-
ä¸ä¸ªéè¦ç¼ç çäºè¿å¶å符串ã
è¿åå¼
ä¸ä¸ªå
å« stringToEncode ç Base64 表示ç ASCII å符串ã
å¼å¸¸
InvalidCharacterErrorDOMException-
该å符串å å«éååèçå符ãåè§ä¸æ¹çâUnicode å符串âã
示ä¾
const encodedData = window.btoa("Hello, world"); // ç¼ç å符串
const decodedData = window.atob(encodedData); // è§£ç å符串
Unicode å符串
æ ¹æ®è®¾è®¡ï¼Base64 ä»
å°äºè¿å¶æ°æ®ä½ä¸ºå
¶è¾å
¥ãèå¨ JavaScript å符串ä¸ï¼è¿æå³çæ¯ä¸ªå符åªè½ä½¿ç¨ä¸ä¸ªåè表示ãæä»¥ï¼å¦æä½ å°ä¸ä¸ªåç¬¦ä¸²ä¼ éç» btoa()ï¼èå
¶ä¸å
å«äºéè¦ä½¿ç¨è¶
è¿ä¸ä¸ªåèæè½è¡¨ç¤ºçå符ï¼ä½ å°±ä¼å¾å°ä¸ä¸ªé误ï¼å 为è¿ä¸ªå符串ä¸è½è¢«ç使¯äºè¿å¶æ°æ®ï¼
const ok = "a";
console.log(ok.codePointAt(0).toString(16)); // 61ï¼å ç¨ < 1 åè
const notOK = "â";
console.log(notOK.codePointAt(0).toString(16)); // 2713ï¼å ç¨ > 1 åè
console.log(window.btoa(ok)); // YQ==
console.log(window.btoa(notOK)); // é误
åè§ Base64 æ¯è¯æ¡ç®ä¸çâUnicode é®é¢âï¼ä»¥äºè§£å¦ä½å¨å¤çä»»æ Unicode ææ¬æ¶è§£å³æ¤éå¶ã
è§è
| Specification |
|---|
| HTML > # dom-btoa-dev > |
æµè§å¨å ¼å®¹æ§
åè§
core-js䏿坹btoaç polyfilldataURLWorkerGlobalScope.btoa()ï¼ç¸åçï¼ä½æ¯æ¯å¨ worker ä½ç¨åå çæ¹æ³ãWindow.atob()- Base64