午夜视频在线观看区二区-午夜视频在线观看视频-午夜视频在线观看视频在线观看-午夜视频在线观看完整高清在线-午夜视频在线观看网站-午夜视频在线观看亚洲天堂

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

淺談JavaScript中Base64轉(zhuǎn)碼的兩個函數(shù)

admin
2025年4月17日 14:43 本文熱度 376

在 JavaScript 中,atob 和 btoa 是兩個用于Base64 編碼和解碼的內(nèi)置函數(shù),分別用于將 Base64 編碼的字符串解碼為原始字符串,以及將原始字符串編碼為 Base64 格式。

首先說一說這兩個函數(shù)的名稱來源吧。

btoa: 表示 "binary to ASCII"(二進制到 ASCII)。

它的作用是將二進制數(shù)據(jù)(或字符串)編碼為 Base64 格式,Base64 是一種用 ASCII 字符表示二進制數(shù)據(jù)的方式。因此,btoa 的命名反映了將任意二進制數(shù)據(jù)轉(zhuǎn)換為 ASCII 字符集(A-Z、a-z、0-9、+、/)的過程。

atob: 表示 "ASCII to binary"(ASCII 到二進制)。 

它將 Base64 編碼的 ASCII 字符串解碼回原始的二進制數(shù)據(jù)(或字符串)。命名反映了解碼過程,即從Base64 的 ASCII 表示還原為原始數(shù)據(jù)。

需要注意的是,atob 和 btoa 最早出現(xiàn)在 Netscape 網(wǎng)景瀏覽器中,用于處理 Base64 編碼和解碼。當時,Base64 常用于將二進制數(shù)據(jù)嵌入到文本格式(如 HTML、CSS 或 MIME 郵件)中。關于網(wǎng)景瀏覽器,估計只有年紀稍大的人才會用過。

很多人以為 atob 和 btoa 是某種縮寫,但實際上它們不是傳統(tǒng)意義上的縮寫,而是基于功能描述的命名,源于早期瀏覽器對 Base64 編碼的需求,這一點尤其要注意。

btoa 函數(shù)用法:

它接受一個字符串,通常是ASCII 字符或二進制數(shù)據(jù)。如果輸入的字符串包含非 ASCII 字符(如中文),需要使用 encodeURIComponent先將其轉(zhuǎn)換為適合的格式。返回 Base64 編碼后的字符串。

const str = "Welcome to Beijing!";const encoded = btoa(str);console.log(encoded); 
const chineseStr = "北京歡迎您!";const encodedChinese = btoa(encodeURIComponent(chineseStr));console.log(encodedChinese);

運行結果:

atob 函數(shù)用法:

接受一個 Base64 編碼的字符串,如果輸入的 Base64 字符串無效,會拋出錯誤。對于非 ASCII 字符的解碼,可能需要結合 decodeURIComponent。返回解碼后的原始字符串。

// 解碼 Base64 字符串const encoded = "V2VsY29tZSB0byBCZWlqaW5nIQ==";const decoded = atob(encoded);console.log(decoded);
// 解碼包含中文的 Base64 字符串const encodedChinese = "JUU1JThDJTk3JUU0JUJBJUFDJUU2JUFDJUEyJUU4JUJGJThFJUU2JTgyJUE4JUVGJUJDJTgx";const decodedChinese = decodeURIComponent(atob(encodedChinese));console.log(decodedChinese);
運行結果:

btoa 和 atob 的局限性:

主要處理 ASCII 字符,對于 Unicode 字符(如中文、表情符號等),需要配合encodeURIComponent 和 decodeURIComponent 使用。

不支持直接處理二進制數(shù)據(jù)(如文件流)。如果需要處理二進制數(shù)據(jù),可以使用 ArrayBuffer 或 TypedArray 結合其他方法。

?

閱讀原文:https://mp.weixin.qq.com/s/j1W_brSR0Tr33zG0N4m6_w


該文章在 2025/4/17 14:43:37 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产蜜桃tv一区二区 | 精品日韩国产欧美在线观看 | 国产色婷婷精品综合在线 | 精品国产一区二区三区香蕉在线 | 91宅男午夜视频 | 岛国aⅴ无码免费无禁网站 岛国av无码精品一区二区三区 | 国产成人精品手机在线观看 | 国内自拍视频一区二区三区 | 国产精品午夜福利免费 | 2025韩国三级午夜理论 | 国产亚洲日韩网曝欧美11 | 国产成人片无码视频在线观看 | 91高清在线 | 99久久精品国产波多野结衣 | 成人欧美日韩视频一区 | 国产高潮抽搐翻白眼在线播放 | 国产成人a级毛片 | 精品无码国产社区野花在线观看 | 丰满熟妞区 | 国产福利午夜波多野结衣 | av夜夜躁狠狠躁日日躁 | 国产成人午夜福利在线观看 | 国产高清在线精品一区a | 国产欧美综合一区二区三区 | 国产精品高潮久久久久久无码 | 18禁无遮拦无码国产在线播放 | 精品国产亚洲av尤物久 | 国产在线观看麻豆91精 | 国产欧美日韩一级精品一区二区 | 国产精品美女挤奶视频 | 国产日韩另类综合11页 | 国模和精品嫩模私拍视频 | 国产精品一区二区三区免 | 国产剧情av巨作在线 | 国产对白播放在线播放 | 国产成人免费在线播放 | 91精品国产福利尤物免费 | 国产精品一区2区三区内射 国产精品一区91 | 国产精品区一区二区三在线 | 动漫精品视频一区二区三区 | 国产一区视频在线免费观看 |