// ArrayBuffer转16进度字符串示例(无符号)
function ab2hex(buffer) {
return Array.prototype.map.call(buffer, x => (
Math.floor((x >>> 32).toString(16).length % 2 != 0) ? (`${"0"}${(x >>> 32).toString(16)}`) : (x >>> 32).toString(16))).join('').toLocaleUpperCase();
}
// 16进制字符串转ArrayBuffer补齐20bit
function hex2abFill(value) {
var typedArray = new Uint8Array(value.match(/[\da-f]{2}/gi).map(function (h) {
return parseInt(h, 16)
}))
var buffer = typedArray.buffer;
var bufLen = buffer.byteLength;
if (Math.floor(bufLen % 20) != 0) {
var fillBuffer = new Uint8Array(Math.ceil(bufLen / 20) * 20);
fillBuffer.set(typedArray);
buffer = fillBuffer.buffer;
}
return buffer;
}
// 16进制字符串转ArrayBuffer不处理
function hex2ab(value) {
var typedArray = new Uint8Array(value.match(/[\da-f]{2}/gi).map(function (h) {
return parseInt(h, 16);
}))
return typedArray.buffer;
}
/**
* u32转HEX
*/
function uint32ArrayToHex(arrayUint32) {
let u32Hex = "";
let srcLen = arrayUint32.length;
for (let h = 0; h < srcLen; h++) {
let valHex = (arrayUint32[h] >>> 32).toString(16);
let valLen = valHex.length;
let hexFill = ""
let fillLen = 8 - valLen;
小程序 ES常用的一些数据转换
最新推荐文章于 2024-05-28 10:24:46 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)