欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

API介紹

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

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

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

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

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

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

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

注意: 二進制數(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)換示例的詳細內(nèi)容,更多關(guān)于ArrayBuffer Uint8Array Blob轉(zhuǎn)換文本字符的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

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

    詳解es6超好用的語法糖Decorator

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

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

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

    IE、FF瀏覽器下修改標簽透明度

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論