#java #base32
#java #base32
Вопрос:
У меня есть закодированная строка, и я пытаюсь ее декодировать. Но я получаю то же byte[]
самое, когда добавляю в него нули.
String val = "VU4ACWPU52WWBTKV4PLCC6BQPA5E7ZLYITGR4NLIZKYZKPPZU2SPZYQPECFA6SCIOYQTU4P4XFERESTTXUSOM4BBZYARDBKHDIGZFPWQ";
Base32 base32 = new Base32(0);
base32.decode(val);
base32.decode("000" val);
Оба приведенных выше декодирования возвращают один и тот же массив байтов. Кто-нибудь может помочь мне понять, почему это то же самое, когда я добавил к нему несколько нулей? Спасибо.
Ответ №1:
Посмотрите здесь:
https://guava.dev/releases/16.0/api/docs/com/google/common/io/BaseEncoding.html
Вы можете видеть, что base32 использует Az и 2-7 в качестве кодировки. Нули ничего не изменят.
Комментарии:
1. Это одна и та же библиотека? Моя библиотека apache
2. Он имеет ту же функциональность. Посмотрите на строку 56 вплоть до 82: commons.apache.org/proper/commons-codec/jacoco /…
3. понял. Спасибо. Я думаю, я должен выбрать шестнадцатеричное кодирование / декодирование
4. изменен Base32 base32 = new Base32(0); на Base32 base32 = new Base32(true); работал