github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/javascript/hex2arr.md (about) 1 --- 2 title: "hex2arr" 3 linkTitle: "hex2arr" 4 date: 2021-11-20 5 description: > 6 7 --- 8 9 В JavaScript окружении доступна функция `hex2arr(hexString)`, которая преобразует строку шестнадцатеричных значений в 10 массив байт (`[]byte`). 11 12 ```javascript 13 hex2arr = function (hexString) { 14 var result = []; 15 while (hexString.length >= 2) { 16 result.push(parseInt(hexString.substring(0, 2), 16)); 17 hexString = hexString.substring(2, hexString.length); 18 } 19 return result; 20 }; 21 ``` 22 23 Пример реализации функции `hex2arr`: 24 25 ```javascript 26 function hex2arr(hexString) { 27 // Удаляем все пробелы из строки 28 hexString = hexString.replace(/\s/g, ''); 29 30 // Разбиваем строку на пары символов (каждая пара представляет байт) 31 var hexPairs = hexString.match(/.{1,2}/g); 32 33 // Преобразуем каждую пару символов в числовое значение 34 var byteArr = hexPairs.map(function (hex) { 35 return parseInt(hex, 16); 36 }); 37 38 return byteArr; 39 } 40 ``` 41 42 Пример использования функции `hex2arr`: 43 44 ```javascript 45 var hexString = "48656C6C6F20576F726C64"; // "Hello World" в шестнадцатеричном формате 46 var byteArr = hex2arr(hexString); 47 console.log(byteArr); // [ 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 ] 48 ``` 49 50 В этом примере функция `hex2arr` принимает строку `"48656C6C6F20576F726C64"`, которая представляет "Hello World" в 51 шестнадцатеричном формате. Результатом выполнения функции будет массив байт, содержащий соответствующие значения ASCII 52 символов.