123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- const HEX_CHAR_TABLE = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
- export function intToByte(intValue){
- var byteValue = intValue & 0xff;
- return byteValue;
- }
- export function byteToInt(byteValue){
- var intValue = byteValue & 0xff;
- return intValue;
- }
-
- export function intArrayToHex(intArray) {
- var byteArray = []
- for(var i = 0; i < intArray.length; i ++) {
- byteArray.push(intToByte(intArray[i]));
- }
- return byteArrayToHex(byteArray);
- }
-
- export function byteArrayToHex(byteArray) {
- // 方法1:
- var hex = ""
- for(var i = 0; i < byteArray.length; i ++) {
- var byteValue = byteArray[i];
- hex = hex + HEX_CHAR_TABLE[(byteValue & 0xf0) >> 4];
- hex = hex + HEX_CHAR_TABLE[byteValue & 0x0f];
- }
- return hex;
-
- }
-
- export function hexToIntArray(hex) {
- var len = hex.length/2;
- var intArray = [];
- for(var i = 0; i< len; i ++) {
- var start = i * 2;
- var hexStr = hex.substring(start, start + 2);
- var intValue = parseInt(hexStr,16);
- intArray.push(intValue);
- }
- return intArray;
- }
-
- export function hexToByteArray(hex) {
- var len = hex.length;
- var intArray = hexToIntArray(hex);
- var byteArray = [];
- for(var i = 0; i < intArray.length; i ++) {
- var intValue = intArray[i];
- var byteValue = intToByte(intValue);
- byteArray.push(byteValue);
- }
- return byteArray;
- }
-
- export function intToHex(intValue) {
- return intValue.toString(16);
- }
-
- /**
- * 16进制字符串转ArrayBuffer
- * @param {*} hex String
- */
- export function hexToArrayBuffer(hex) {
- var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) {
- return parseInt(h, 16)
- }));
- var buffer = typedArray.buffer;
- return buffer;
- }
-
- /**
- * ArrayButter转16进制字符串
- * @param {*} buffer ArrayBuffer
- */
- export function arrayBufferToHex(buffer) { // buffer is an ArrayBuffer
- return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
- }
-
- export function hexToUint8Array(hex) {
- var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) {
- return parseInt(h, 16)
- }));
- return typedArray;
- }
-
- export function uint8ArrayToHex(uint8Array) {
- return Array.prototype.map
- .call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2))
- .join('');
- }
-
- // module.exports = {
- // intArrayToHex: intArrayToHex,
- // byteArrayToHex: byteArrayToHex,
- // intToHex: intToHex,
- // hexToIntArray: hexToIntArray,
- // hexToByteArray: hexToByteArray,
- // hexToArrayBuffer: hexToArrayBuffer,
- // arrayBufferToHex: arrayBufferToHex
- // }
|