#javascript #react-native #buffer
#javascript #react-native #буфер
Вопрос:
Я отправляю данные на устройство BLE, и я считаю, что у него есть ограничение в байтах 28 байт на пакеты. Как я могу разделить этот буфер на определенные размеры байтов для отправки?
let string = 'How do I split this string?';
let commandInBase64 = Buffer.from(string).toString('base64'); // too big to send
device.writeCharacteristicWithResponseForService(serviceUUID, commandUUID, commandInBase64)
.catch(handleError);
Комментарии:
1. может ли строка содержать символы за пределами диапазона ASCII (код > 127) ? Они будут закодированы более чем в 1 байт и не должны разделяться. Кроме того, вы можете просто нарезать буфер на куски длиной 21 байт и преобразовать их в base64.
2. @Thomas Я работаю с SSID, поэтому я так считаю, и даже тогда крайние случаи я смогу обработать позже. Итак, что-то вроде этого? Где commandInBase64 будет первым пакетом? « let string = ‘Как мне разделить эту строку?’; пусть bufferedString = Buffer.from(строка); пусть subString = bufferedString.slice(0, 22) пусть commandInBase64 = subString.tostring(‘base64’); «
3. 21, а не 22 символа, но да