2026年1月5日 星期一

關於 Uint8Array.setFromHex()

 關於 Uint8Array.setFromHex()

前言

  在閱覽 Uint8Array 的說明發現有 Uint8Array.setFromHex() ,抽空了解它的作用是什麼,在此把學習的過程做個紀錄。


內容

  範例如下

let str = '0123456789abcdef';
let arHex = Uint8Array.fromHex( str );
arHex.setFromHex( 'ff12' );
console.log( arHex.toHex() );//ff12456789abcdef
//
let arHex1 = Uint8Array.fromHex( 'ff' );
arHex1.setFromHex( '00ff' );
console.log( arHex1.toHex() );//00


Uint8Array.setFromHex() 是提供用字串的方式賦值,就像建構式用字串的方式來賦值,範例透過設置 'ff12' 來賦值,結果可以看到改變是從開頭賦值的,遺憾的是該函式不提供位移,只能從開頭賦值。如果超出賦值範圍會如何呢?因為 Uint8Array 是在建構的時候就確定了大小,如果用 Uint8Array.setFromHex() 超出賦值範圍,可以在範例的賦值 '00ff' 看到,可以成功賦值,不會報錯。


參考資料

[ developer.mozilla.org ] Uint8Array.prototype.setFromHex()


相關文章與資料

初探 Uint8Array.fromHex() 與 Uint8Array.toHex()

再探 Uint8Array.fromHex()

沒有留言:

張貼留言