Конвертировать int / string в байтовый массив длиной n - PullRequest
0 голосов
/ 26 апреля 2018

Как я могу преобразовать значение типа 5 или «Тестирование» в массив байтов типа с фиксированной длиной n байтов?

Редактировать:

Я хочу представить число 5 в битах. Я знаю, что это 101, но я хочу, чтобы он представлял собой массив длиной, например, 6 байтов, поэтому 000000 ....

1 Ответ

0 голосов
/ 26 апреля 2018

Я не уверен, что вы пытаетесь достичь здесь, но все, что я могу сказать, это предположить, что вы просто хотите представлять символы в двоичной форме его кода ASCII, вы можете дополнить двоичное представление нулями. Например, если желаемое количество символов равно 10, кодировка буквы a (с кодом ASCII 97) в двоичном виде будет 1100001, с добавлением 10 символов будет 0001100001, но это для одного символа, который будет закодирован. Кодировка строки, состоящей из нескольких символов, будет представлять собой набор из этих 10-значных двоичных кодов, которые представляют соответствующий символ в таблице ASCII. Кодирование данных важно для того, чтобы система знала, как интерпретировать двоичные данные. Кроме того, в зависимости от архитектуры системы также существует порядок байтов, но в наши дни это не проблема, так как более старые и современные процессоры, такие как ARM-процессоры, работают с прямым порядком байтов.

Так что забудьте о представлении числа 5 и строки "WTF", используя такое же количество байтов - это делает мозг болит. Останови это.

Немного больше чтения по кодированию символов будет здорово.
Начните здесь - https://en.wikipedia.org/wiki/ASCII Тогда это - https://en.wikipedia.org/wiki/UTF-8 Тогда мозг болит - https://en.wikipedia.org/wiki/Endianness

...