1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- 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) {
- 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('');
- }
-
- // module.exports = {
- // intToByte: intToByte,
- // byteToInt: byteToInt,
- // intArrayToHex: intArrayToHex,
- // byteArrayToHex: byteArrayToHex,
- // highLowToInt: highLowToInt,
- // intToHighLow: intToHighLow,
- // intToHex: intToHex,
- // hexToIntArray: hexToIntArray,
- // hexToByteArray: hexToByteArray,
- // hexToArrayBuffer: hexToArrayBuffer,
- // arrayBufferToHex: arrayBufferToHex
- // }
|