Я пытаюсь получить данные от специального устройства Bluetooth в формате JSON.Как я понял CoreBluetooth в didUpdateValue для CBC характерный делегат отправляет 20 байт массажа и вы можете работать с ним.Проблема состоит в том, что если этот 20-байтовый массаж содержит символы кириллицы, didUpdateValueForCBCharacteristic делегат не отправляет мне эти 20 байт, и в конце у меня нет действительного JSON.Пример:
{"Rows":[
{"num":0,"id":1,"pid":0,"type":0,"name":"Папка1"},
{"num":1,"id":2,"pid":0,"type":0,"name":"Group2"},
{"num":2,"id":4,"pid":1,,"id":5,"pid":2,"type":1,"name":"Group2запись"}
]}
Как видите, в этом json после {"num":2,"id":4,"pid":1,
у меня было 20 байт с кириллицей.
Данные об устройстве отправляются в UTF8
Я преобразую этоданные в строку, как показано ниже
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
let readValue = myCharacteristic.value ?? Data()
jsonString1 = String(data: readValue, encoding: String.Encoding.utf8) ?? ""
massageFromDevice = massageFromDevice + jsonString1
Как я могу решить это?