Содержимое памяти в строку ASCII, формат с прямым порядком байтов

Мне нужно перевести следующее содержимое памяти в код ASCII, используя формат с прямым порядком байтов:

0x6A636162 0x64726177 0x00002173

У меня получилось "jcab draw!s", что неверно (и, конечно, полная ерунда). Как вы должны сделать это, используя формат с прямым порядком байтов?


person rfmas3    schedule 29.04.2012    source источник
comment
Вы уверены, что первое число не должно быть 0x6B636162?   -  person huon    schedule 29.04.2012
comment
Ага положительный. Для меня это не имеет никакого смысла. Я предполагаю, что тогда он перевернется и будет читаться задом наперёд! если бы это было 6В? (но это определенно 6А).   -  person rfmas3    schedule 29.04.2012


Ответы (1)


Это должно быть "назад!" Сначала вы читаете первые два самых правых шестнадцатеричных значения как один символ ascii, а затем фокусируетесь на паре слева от него, пока не доберетесь до самого дальнего левого шестнадцатеричного значения.

person Robert Bain    schedule 11.10.2012
comment
Я не отступлю, основываясь на том, что вы только что написали. Первые крайние правые шестнадцатеричные значения: 73 -> s, затем 21 -> !, затем 0 -> NULL, затем 0 -> NULL. Можете ли вы объяснить, как вы пришли к обратному? - person Yu Chen; 30.01.2019
comment
Вы читаете первые 32 бита (0x6A636162): 62 = b, 61 = a... Затем следующие 32 бита (0x64726177): 77 = w, 61 = a... Последние 2 пары равны NULL, потому что вы только нужно 10 символов, чтобы представить назад! - person Robert Bain; 01.02.2019