powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Получение сырых данных из строки
4 сообщений из 4, страница 1 из 1
Получение сырых данных из строки
    #39176991
Nomados
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам я эмбедерщик, просьба не пинать :) Это мое первое java/android приложение.

У меня есть устройство которое отправляет данные по BLE (Bluetooth Low Energy). Есть библиотечка от производителя модуля, которая предоставляет отправленную по BLE информацию в виде строки (класс String) а не в виде массива байт.
Проблема в том что я хочу слать бинарные данные, включающие биты как, например, 0xFC, а getBytes() работает грустно - декодер UTF8 подставяет вопросики на неизвестные ему символы, и разбивает некоторые "символы" на два байта вместо одного.

Внимание, вопрос: если хоть какой-нибудь вариант получить сырые данные из строки? Если не, то как мне лучше обрабатывать бинарные данные?

Спасибо.
...
Рейтинг: 0 / 0
Получение сырых данных из строки
    #39177041
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо вопрос не связан с андроид - это чисто ява. причем не просто ява, а заморочки реализации твоей либы. у метода getBytes есть параметр - кодировка. Есть мнение, там должно стоять то, что использовалось при первоначальном преобразовании из массива байтов в строку.
...
Рейтинг: 0 / 0
Получение сырых данных из строки
    #39177066
Nomados
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у Андроида дефолтная кодировка UTF8, и она не покрывает все пространство от 0x00 до 0xFF... Видимо придется переписывать библиотеку, чтобы она оперировала byte[] или переводить в hex строку и слать в ASCII, что сразу убивает пропускную способность в 2 раза...
...
Рейтинг: 0 / 0
Получение сырых данных из строки
    #39177071
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nomadosу Андроида дефолтная кодировка UTF8
это если точно известно, что в библиотеке не вызывается например ByteArrayOutputStream.toString("ISO8859-1") или new String(byte[], charset) с указанием явной кодировки
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Получение сырых данных из строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]