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  символов.