123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- export function buf2hex(buffer) { // buffer is an ArrayBuffer
- return [...new Uint8Array(buffer)]
- .map(x => x.toString(16).padStart(2, '0'))
- .join('');
- }
- export function hex2ab(hex){
- let typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) {
- return parseInt(h, 16)
- }))
- let buffer = typedArray.buffer
- return buffer
- }
- /**
- * 十进制转十六进制
- * @param {number} dec 要转换的十进制数
- * @returns 转换后的十六进制字符串,如果是奇数位,前面补0
- */
- export function dec2hex(dec)
- {
- let res = dec.toString(16);
- // 如果是奇数位,前面补0
- if (res.length % 2) {res = '0' + res;}
- return res;
- }
- // 十六进制字符串分割为数组
- export function hexStr2Arr(hexStr){
- let arr = [];
- for(let i=0;i<hexStr.length;i+=2){
- arr.push(hexStr.substr(i,2))
- }
- return arr;
- }
- // 任意数字转字符串
- export function num2str(num){
- return num.toString();
- }
- function hexStrToBuffer(str){
- // 填充首位
- if(str.length % 2){str=`0${str}`}
-
- for(let i=0;i<str.length;i+=2){
- hex2ab(str.substr(i,2))
- }
- }
- export default {
- buf2hex,
- hex2ab,
- dec2hex,
- hexStr2Arr
- }
|