Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 26.05.2021
Сообщений: 80

Не удается конвертировать строку в массив байтов

27.04.2022, 10:49. Показов 537. Ответов 2

Студворк — интернет-сервис помощи студентам
Всем привет. За ближайшие два дня я сломал себе мозг. Имею приложение андроид которое общается по вай фай через сокет с сервером. Сервер отправляет информацию в виде набора байт. Они могут быть как 0x00 так и 0хFF. Когда значение в небольших пределах, то все работает. 0х30,0х31 отрабатывает нормально, и в массиве char я вижу их нормально. Но когда приходит что то большое по типу 0хFF или 0хFЕ. То происходит лютая дичь. Это число превращается в черти что, да и еще двухбайтовое.
Пробовал раскладывать не в массив char а в массив byte ситуация еще хуже. Этот 0хFF или 0хFЕ раскладывается в три байта! и всегда одинаковые 0xEF 0xBF 0xBD. Я уже ничего не понимаю почему так происходит. Как мне просто получить теже данные которые я отправил, а не вот эту дичь...

Добавлено через 6 минут
В принципе можно найти выход и передавать просто символами в Ascii но блин тогда данных станет больше, да и разобраться хочется.
Вот код программы:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
    public BufferedWriter output;
    public BufferedReader input;
    output= new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));  
    input = new BufferedReader(new InputStreamReader(socket.getInputStream()));  
 
    public void run() {
 
        while (!stop_lisn) {               
            try {
                inpt_str0 = input.readLine().getBytes();
                inpt_str = inpt_str0.toString();
               ////inpt_str0 = input.readLine();
       }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2022, 10:49
Ответы с готовыми решениями:

Как конвертировать массив байтов, что хранится в БД в типе данных BLOB, в строку?
Здравствуйте, у меня к вам вопрос. Как конвертировать массив байтов, что хранится в БД в типе данных BLOB, в строку, для последующего её...

Конвертировать звуковой файл (.mp3, .wav) в массив байтов
Итак, передо мной встала непростая задача - конвертировать звуковой файл (.mp3, .wav) в массив байтов (т.е. в бинарный файл, строку), а...

Преобразовать строку в массив байтов
Имееться строка, представленая в hex кодировке: string str = "0a0f8e9a10ef71e10cd0436f819b4599"; Как ее можно преобразовать в byte...

2
93 / 66 / 27
Регистрация: 23.06.2019
Сообщений: 477
29.04.2022, 15:57
InputStream - для работы со строками у которых есть чарсет даже если он не указан явно, а не с отдельными байтами.
Читайте прямо из сокета. Будет побайтовое чтение без всяких уникодов и прочих чарсетов.

Что значит символами Ascii данных станет больше? Почему?
0
1 / 1 / 0
Регистрация: 26.05.2021
Сообщений: 80
29.04.2022, 22:17  [ТС]
Цитата Сообщение от vs2019 Посмотреть сообщение
Что значит символами Ascii данных станет больше? Почему?
ну представим что мне нужно передать 12345678. просто интом это будет 4 байта. А в Ascii это 8 байт.. А если цифер еще больше, сами понимаете..
Я вроде разобрался как это делать. Может кому интересно будет:
Java
1
2
3
4
5
public InputStream input;
input = new BufferedInputStream(socket.getInputStream());
public byte[] data = new byte[20];
//на второстепенном потоке:
input.read(data);
Для передачи :
Java
1
2
3
4
5
6
public OutputStream output;
output = new BufferedOutputStream(socket.getOutputStream());
//на второстепенном потоке:
public void senMesage(byte [] buf) {
output.write(buf);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2022, 22:17
Помогаю со студенческими работами здесь

Как преобразовать массив байтов в строку
Как преобразовать массив байтов в строку. Допустим есть массив байтов - "c7e0f8f3ecebe5ededeef1f2fc20f1e8". Если перевести в строку...

Конвертировать строку в массив байт
С com port приходят данные в виде byte. Они записываются в строку и получаются такие непонятные символы(на скрине). Вопрос - как мне...

Как конвертировать строку в массив?
Добрый день! Ребята, такой вопрос: У меня есть строка String, как можно ее переконвертировать в массив String. К примеру в обычном VB...

Как преобразовать байтовый массив (без старших байтов) в строку?
Здравствуйте ! Подскажите, пожалуйста, допустим я создаю файл .txt (кодировка Win-1251) с текстом "Test" и добавляю его...

Как конвертировать строку String в массив UInt8?
Есть строка var str = "test" как ее конвертировать в массив var array :


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru