Действительно Преобразовывает. ToBase64String возвращают ту же длину, как это - исходный массив байтов?

В вашем файле admin.py вам нужно переопределить UserAdmin следующим образом:

class CustomUserAdmin(BaseUserAdmin):
    form = CustomUserChange
    add_form = CustomUserCreation

    list_display = ('email', 'username', 'password', 'q1', 'q2')
    fields = ('email', 'username', 'password', 'q1', 'q2')
    model = CustomUser

admin.site.register(CustomUser, UserAdmin)

Посмотрите этот пример в документации, чтобы лучше понять ссылку

7
задан Myat Htut 12 May 2009 в 23:01
поделиться

3 ответа

Кодировка base64 байтовой строки длиннее, чем байтовая строка, потому что эта байтовая строка имеет 2 ^ 8 возможностей для каждого «местоположения», в то время как строка base 64 имеет только 2 ^ 6 возможностей для каждого местоположения. (поэтому мы называем это основанием 64.)

Только подумайте о логарифмах и голубых дырах. Возьмите число 5000. Сколько ячеек (голубиных дыр, байтов) вам нужно, чтобы сохранить его в базе 256?

"Locations in base256" = ceil(log_2(5000) / 8) = ceil(1.54) = 2

Где log_2 сообщает вам, сколько битов вам нужно. Теперь, сколько в base64?

"Locations in base64" = ceil(log_2(5000) / 6) = ceil(2.04) = 3
1
ответ дан 6 December 2019 в 09:22
поделиться

Нет, Base64 возвращает 4 байта для входных 3 байтов с округлением в большую сторону (с добавлением =) до следующих 4 -байтовая граница.

int outputLength = ((inputLength+2)/3)*4

Это потому, что он использует только 6 бит (в основном число 0-63) на байт, чтобы использовать только символы ASCII, которые не являются управляющими символами и находятся в 7-битном диапазоне. Следовательно, при кодировании данных с помощью Base64 вы получите 3 * 8 => 4 * 6 бит.

14
ответ дан 6 December 2019 в 09:22
поделиться

base-64 редко возвращает строку той же длины, что и ввод. По сути, он использует только 6 из доступных 8 бит, поэтому для больших сообщений (в частности) потребуется дополнительная 1/3 объема. В конце есть несколько упаковочных байтов (обычно "="), чтобы сообщение было однозначным.

5
ответ дан 6 December 2019 в 09:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: