Поменять тетрады в байте во всей строке | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
Есть строка 0h005363000408313131313131
1) Нужно посчитать CRC и прибавить к строке - эта часть реализована, проблем нет! 2) Полученную строку нужно переделать так что поменять тетрады в каждом байте и привести к виду: 0h00353600408013131313131313 и CRC тоже надо перевернуть 3) Переделать строку так, чтобы каждая тетрада передавалась в соответствие шестнадцатеричному коду тетрады ставится ASCII– символ. Так, кодам 0…9 будут соответствовать значения 0x30…0x39, кодам A…F - значения 0x41…0x46 получится должно что-то типа 0h30303335333630303430383031333133313331333133133 + CRC по такой же схеме |
Re: Поменять тетрады в байте во всей строке | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Можно использовать и BIT-операции прямо над кодами символов, например:
Исправлено 8 раз(а). Последнее : akvvohinc, 04.10.21 15:01 |
Re: Поменять тетрады в байте во всей строке | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
Немного переделал:
|
Re: Поменять тетрады в байте во всей строке | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Поскольку между исходными и выходными символами есть однозначное соответствие, то достаточно один раз для каждого возможного символа (его кода) определить символ (его код), в который он должен превратиться в результате "преобразования" (пусть даже сделать это вручную ), а далее выполнять это преобразование одной командой для всей строки, не опасаясь ошибок в алгоритме:
Исправлено 1 раз(а). Последнее : akvvohinc, 05.10.21 11:33 |
Re: Поменять тетрады в байте во всей строке | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
не подойдёт, там может быть что угодно, там конечно конечный вариант немного больше, но самое главное работает быстро теперь буду разбор ответа писать, там свой геммор и кстати вот там такая функция вполне подойдёт, запустить её 16 раз и будет то что нужно |
Re: Поменять тетрады в байте во всей строке | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата: Неужели больше 256 символов? Цитата: А одного раза недостаточно? Исправлено 1 раз(а). Последнее : akvvohinc, 05.10.21 12:36 |
© 2000-2024 Fox Club  |