Титла: Free pascal String2Hex Публикувано от: runtime в Sep 12, 2012, 21:45 Здравейте,
от 1 час се мъча да конверирам стринг във вид 'CEE300002D' във стринг с вид #$CE#$E3#$00#$00#$2D Даже не знам от стринг към хекс ли е или квото е там ;D То даже си е хекс към стринг ама както и да е де :) Някой може ли да се притече на помощ? Титла: Re: Free pascal String2Hex Публикувано от: runtime в Sep 12, 2012, 22:16 Опа намерих си най сетне квото търсих:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1149&lngWId=7 Може да ходи в коша по ваша преценка :) Титла: Re: Free pascal String2Hex Публикувано от: remotex в Sep 13, 2012, 16:43 Колега, не бързай чак толкова... няколко бързи въпроса, ако може
1. Защо ти е да конвертираш очевидно двоични данни към 16тичен стринг само за да ги конвертираш после пак към стринг но бинарен?! Аз лично бих конвертирал направо от число към бинарен стринг като трябва да се внимава и за: 2. Проблеми с обратната конверсия - не виждам формата да поддържа т.нар. endiannes т.е. затова хората слагат номера на версиите на протокола или поне трябва да се сериализира в един и същи формат, за съжаление по удобният е на Моторола но повечето ПК ползват интел т.е. съдейки по кода който показа това е за прехвърляне на информация през мрежата и приемащата машина няма как да знае какъв е формата на предаващата та да не стане напр. подаваш CEE300002D а се получава 2D 00 00 E3 CE а и нечетния бр. байтове ме подсети и за: 3. Дадения алгоритъм ще изгърми при подаване на нечетен брой символи напр. CEE302D (винаги ги чете по 2) и накрая 4. Трябва да се внимава от коя страна ще се добави една нула - това е свързано и с 2. напр. CEE302D -> CEE302D0 или 0CEE302D - ще зависи по кое време се прави и вж. 2. и по-лесен пример в 10на бр. с-ма е. 10 -> 010 или 100 разлика 10 пъти П.П. Колкото ми се удава - толкова... а и паскал не съм барал от години. |