netkitty
Version:
Network tools kit
28 lines (27 loc) • 849 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HexToBuffer = HexToBuffer;
/**
* Convert hex to buffer
* @param hex
* @param bufferLength
* @constructor
*/
function HexToBuffer(hex, bufferLength) {
if (!hex)
return Buffer.alloc(0);
const inputHex = hex.length % 2 ? hex.padStart(hex.length + 1, '0') : hex;
const outputBufferLength = bufferLength ? bufferLength : inputHex.length / 2;
let buffer = Buffer.from(inputHex, 'hex');
if (buffer.length > outputBufferLength) {
buffer.subarray(0, outputBufferLength);
}
else if (buffer.length < outputBufferLength) {
const paddingLength = outputBufferLength - buffer.length;
buffer = Buffer.concat([
Buffer.alloc(paddingLength, 0x00),
buffer
]);
}
return buffer;
}