Почему мы не используем base64 вместо hex? - PullRequest
5 голосов
/ 29 января 2012

Если мы используем hex, потому что это упрощение двоичного кода, которое облегчает работу программиста, легче для чтения, чем двоичное, и переносит больше данных (и т. Д.), Почему мы не перейдем к следующему логическому шагу, base64

Пример:

В десятичном виде:
1.000.000 10

В двоичном коде:
0b11110100001001000000 2

В шестнадцатеричном виде:
0xf4240 16 <ч /> Ясно, что представленное выше представление base64 будет даже более компактным и лаконичным, чем даже шестнадцатеричное представление.

В этом отношении, почему бы нам не использовать сколь угодно большую базовую систему 2 n ? Зачем конкретно останавливаться на гексе?

Ответы [ 3 ]

6 голосов
/ 29 января 2012

Hex обладает полезным свойством использования двух цифр в одном байте. Это очень удобно для просмотра необработанной памяти, адресов памяти и т. Д. В те дни, когда я занимался PDP, мы часто использовали восьмеричное число, потому что мы могли легче читать машинный код. Base-64 не предлагает такой хорошей делимости: это 6 бит, поэтому это 4 цифры на 3 байта.

2 голосов
/ 29 января 2012

Быстро, что такое двоичное или десятичное значение символа K?(Или, если я скажу вам отделить K объекты от кучи, вы можете сделать это, не тратя несколько минут на выяснение того, что на самом деле означает это значение?)В алфавитной песне вы поймете, в чем проблема с использованием base-64 в виде письменной системы счисления.Черт возьми, вы должны использовать песню, чтобы запомнить, каков порядок 26 символов (по крайней мере, я знаю), как вы можете запомнить 64 из них?

0 голосов
/ 29 января 2012

Base64 уже используется в качестве системы кодирования для различных задач.Например, в Java есть много реализаций , например, здесь .Это может быть полезно для транспортировки закодированных данных в формате xml.

...