亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ArrayBuffer Uint8Array Blob與文本字符相互轉(zhuǎn)換示例

 更新時(shí)間:2022年06月28日 09:19:00   作者:天問  
這篇文章主要為大家介紹了ArrayBuffer Uint8Array Blob與文本字符相互轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

API介紹

前端 File 上傳、下載,Canvas 保存圖片,Ajax 和 Fetch 二進(jìn)制流傳輸,PDF 預(yù)覽,瀏覽器上 WebAssembly 的應(yīng)用 等等都需要用到 ArrayBuffer 和 Blob 。文件就具體介紹一下這些對象的相互轉(zhuǎn)換。

FileReader 對象允許Web應(yīng)用程序異步讀取存儲(chǔ)在用戶計(jì)算機(jī)上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,使用 File 或 Blob 對象指定要讀取的文件或數(shù)據(jù)。

Blob 對象表示一個(gè)不可變、原始數(shù)據(jù)的類文件對象。它的數(shù)據(jù)可以按文本或二進(jìn)制的格式進(jìn)行讀取,也可以轉(zhuǎn)換成 ReadableStream 來用于數(shù)據(jù)操作。Blob 表示的不一定是 JavaScript 原生格式的數(shù)據(jù)。File 接口基于 Blob,繼承了 blob 的功能并將其擴(kuò)展使其支持用戶系統(tǒng)上的文件。

ArrayBuffer 對象代表儲(chǔ)存二進(jìn)制數(shù)據(jù)的一段內(nèi)存,它不能直接讀寫,只能通過視圖(TypedArray 視圖和 DataView 視圖)來讀寫,視圖的作用是以指定格式解讀二進(jìn)制數(shù)據(jù)。

Uint8Array 對象是 ArrayBuffer 的一個(gè)數(shù)據(jù)類型(8 位不帶符號(hào)整數(shù))。

TextEncoder 接受代碼點(diǎn)流作為輸入,并提供 UTF-8 字節(jié)流作為輸出。

TextDecoder 接口表示一個(gè)文本解碼器,一個(gè)解碼器只支持一種特定文本編碼,例如 utf-8、iso-8859-2、koi8、cp1261,gbk 等等。解碼器將字節(jié)流作為輸入,并提供代碼點(diǎn)流作為輸出。

注意: 二進(jìn)制數(shù)組并不是真正的數(shù)組,而是類似數(shù)組的對象。

字符與ArrayBuffer,Uint8Array相互轉(zhuǎn)換

TextEncoder => ArrayBuffer

let encoder = new TextEncoder();

// 字符 轉(zhuǎn) Uint8Array
let uint8Array = encoder.encode("你好啊");

// Uint8Array 轉(zhuǎn) ArrayBuffer
let arrayBuffer = uint8Array.buffer

Blob => ArrayBuffer

let str = 'hello,你好嗎?'
let blob = new Blob([str],{type:'text/plain;charset=utf-8'});
let utf8decoder = new TextDecoder()
blob.arrayBuffer().then(buffer=>{
  // ArrayBuffer
  console.log(buffer)
  let text = utf8decoder.decode(buffer)
  // String
  console.log(text)
})

FileReader => ArrayBuffer

let str = 'hello,你好嗎?'
let blob = new Blob([str],{type:'text/plain;charset=utf-8'});
let utf8decoder = new TextDecoder()
let fr = new FileReader()
fr.readAsArrayBuffer(blob)
fr.onload = function(res) {
  // ArrayBuffer
  let buffer = fr.result
  console.log(buffer)
  let text = utf8decoder.decode(buffer)
  // String
  console.log(text)
}

以上就是ArrayBuffer Uint8Array Blob與文本字符相互轉(zhuǎn)換示例的詳細(xì)內(nèi)容,更多關(guān)于ArrayBuffer Uint8Array Blob轉(zhuǎn)換文本字符的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解es6超好用的語法糖Decorator

    詳解es6超好用的語法糖Decorator

    這篇文章主要介紹了詳解es6超好用的語法糖Decorator,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 微信小程序wx.navigateTo方法里的events參數(shù)使用詳情及場景

    微信小程序wx.navigateTo方法里的events參數(shù)使用詳情及場景

    這篇文章主要介紹了微信小程序wx.navigateTo方法里的events參數(shù)使用詳情及場景,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • IE、FF瀏覽器下修改標(biāo)簽透明度

    IE、FF瀏覽器下修改標(biāo)簽透明度

    通過js修改標(biāo)簽透明度,兼容IE、FF瀏覽器,需要的朋友可以參考下
    2014-01-01
  • JS創(chuàng)建或填充任意長度數(shù)組的小技巧匯總

    JS創(chuàng)建或填充任意長度數(shù)組的小技巧匯總

    在JavaScript 中,我們往往會(huì)遇到需要使用某些默認(rèn)值來填充數(shù)組的情況,那么都有哪些方式可以完成這樣的任務(wù)呢?這篇文章主要給大家介紹了關(guān)于JS創(chuàng)建或填充任意長度數(shù)組的小技巧,需要的朋友可以參考下
    2021-10-10
  • Bootstrap CSS組件之導(dǎo)航(nav)

    Bootstrap CSS組件之導(dǎo)航(nav)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap CSS組件之導(dǎo)航(nav),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript使用pop方法移除數(shù)組最后一個(gè)元素用法實(shí)例

    JavaScript使用pop方法移除數(shù)組最后一個(gè)元素用法實(shí)例

    這篇文章主要介紹了JavaScript使用pop方法移除數(shù)組最后一個(gè)元素,實(shí)例分析了javascript中pop方法的使用技巧,需要的朋友可以參考下
    2015-04-04
  • 解決js相同的正則多次調(diào)用test()返回的值卻不同的問題

    解決js相同的正則多次調(diào)用test()返回的值卻不同的問題

    今天小編就為大家分享一篇解決js相同的正則多次調(diào)用test()返回的值卻不同的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 詳解解決小程序中webview頁面多層history返回問題

    詳解解決小程序中webview頁面多層history返回問題

    這篇文章主要介紹了詳解解決小程序中webview頁面多層history返回問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • JavaScript實(shí)現(xiàn)更換頭像功能

    JavaScript實(shí)現(xiàn)更換頭像功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)更換頭像功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JS圖片壓縮的簡單實(shí)現(xiàn)

    JS圖片壓縮的簡單實(shí)現(xiàn)

    本文主要介紹了JS圖片壓縮的簡單實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論