Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101

байты в строку

23.11.2009, 16:19. Показов 5676. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как можно перевести 4 байта F1 08 25 12 а строку А1082512 ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2009, 16:19
Ответы с готовыми решениями:

Байты в строку
Люди помогите считать с реестра REG_BINARY в строку memo1 var byt: byte; reg:=TRegistry.Create; ...

Байты в строку, а затем припаять к textBlock
Добрый вечер, Как в событии кнопки преобразовать байты в строку, а затем припаять к textBlock. Есть такой код, public...

Как перевести в строку все байты сразу?
у меня есть не много, не мало 3531 штук байтов такого вида 123,213,34,342,324 , их все надо перевести в строку, сделать это можно вот так:...

6
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
23.11.2009, 16:26
Откуда байты берешь???
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
23.11.2009, 16:34  [ТС]
из ком порта
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
23.11.2009, 16:59
Valery_,
как можно перевести 4 байта F1 08 25 12 а строку А1082512 ?

C++
1
2
3
4
5
6
7
8
9
template <size_t N>
std::string convert(const unsigned char (&arr)[N])
{
    std::stringstream ss;
    for (size_t i=0; i<N; i++)
        ss << std::hex << std::uppercase << std::setw(2) << std::setfill('0')
            << (unsigned) arr[i];
    return ss.str();
}
unsigned char arr[] = {0xF1, 0x08, 0x25, 0x12};
const std::string s = convert(arr);
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
30.11.2009, 12:17  [ТС]
если чесно не понял этого кода. Просто можно ли объяснить систему. код я сам составлю. просто не понимаю процесс. как назад в быйты перевести я разобрался.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
30.11.2009, 12:46
Цитата Сообщение от Valery_ Посмотреть сообщение
как можно перевести 4 байта F1 08 25 12 а строку А1082512 ?
Откровенно дурацкий способ, но работает
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
 
/* revstr - строка наоборот */
char *revstr(char *s){
    char *h = s; /* head */
    char *t = h + strlen(s) - 1; /* tail */
    char c;
    
    while ( h < t ){
        c = *h;
        *h = *t;
        *t = c;
        h++;
        t--;
    }
    
    return(s);
}
 
/* возвращает в buf строку не длиннее len - 1 символов, представляющую число num в CC с основанием base, или NULL при неудаче */
char *itoan(char *buf, int len, unsigned int val, int base){
    static char num[] = "0123456789abcdefghijklmnopqrstuvwxyz";
    char *str = buf;
 
    if ( (base < 2) || (base > 35) )
        return(NULL);
    
    while ( val ){
        if ( --len < 1 )
            return(NULL);
        *buf++ = num[val % base];
        val /= base;
    }
    *buf = '\0';
    return(revstr(str));
}
 
/* revarr - массив наоборот */
char *revarr(char *arr, size_t length){
    char *head, *tail, c;
    for ( head = arr, tail = arr + length - 1; head < tail; head++, tail-- ){
        c = *head;
        *head = *tail;
        *tail = c;
    }
    return arr;
}
 
typedef union {
    char cval[4];
    unsigned int ival;
} Un_t;
 
int main(void){
    Un_t un = { 0xF1, 0x08, 0x25, 0x12 };
    char str[9] = { 0 };
    
    revarr(un.cval, 4);
    printf("%s\n", itoan(str, 9, un.ival, 16));
    
    return 0;
}
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
30.11.2009, 23:00
как можно перевести 4 байта F1 08 25 12 а строку А1082512 ?
Тут ошибка - либо байт A1, либо строка F1..

Перевести байты в строку:
C
1
2
3
4
int b[]= { 0xF1, 0x08, 0x25, 0x12 };
char buf[32];
 
snprintf( buf, sizeof(buf), "%02X%02X%02X%02X", b[0], b[1], b[2], b[3] );
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2009, 23:00
Помогаю со студенческими работами здесь

Как строку разбитую на байты перевести в нормальное состояние?
%D1%81%D0%BB%D0%BE%D0%B2%D0%BE рак строку разбитую на байты перевести в нормальное состояние средствами javascript

Написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти байты в выходной файл
Здравствуйте!В убунту на Си нужно написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти...

Декодировать байты (в base64) в просто байты
Добрый день, нужно декодировать байты, которые зашифрованы в base64 в нормальные баты вот код : internal sbyte mSecret; ...

Strtol(), байты
Программа получает один аргумент - число, присваивает его переменной, выводит содержимое ячеек памяти, в которых хранится эта переменная. ...

Странные байты
Делаю запрос из базы и вывожу в HEX int main(int argc, char** argv) { sqlite3* DB; int exit = 0; exit =...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru