Есть ли способ конвертировать массив из 1 и 0 в массив байтов? - PullRequest
0 голосов
/ 27 января 2020

У меня есть 96-элементный массив из 1 и 0 (я также могу использовать логические значения), который я использую для хранения достижений в игре (0, если не разблокирован, 1, если разблокирован), который я хочу кодировать как Base64 (для «сохранить» игру, экспортировав все данные о достижениях в короткую строку). Сначала я хочу преобразовать массив в byte[], чтобы я мог использовать метод encodeToString(byte[] src) в этом массиве для вывода строки.

Как я могу это сделать? Есть ли метод, который может взять подмассив из 8 битов и преобразовать его в байт? Это не должно быть эффективно или красиво. Я просто делаю эту игру для развлечения.

1 Ответ

1 голос
/ 27 января 2020

Полагаю, вам следует использовать другую структуру данных, например BitSet, которая позволит избежать непосредственной работы с побитовыми операторами.

BitSet achievements = new BitSet(96);
achievements.set(41);
byte[] data = achievements.toByteArray();

Помните: не нужно заново изобретать колесо!

...