В JavaScript вы можете преобразовать число в строковое представление с определенным radix следующим образом:
(12345).toString(36) // "9ix"
... и вы можете преобразовать его обратно в обычное число следующим образом:
parseInt("9ix", 36) // 12345
36 - наивысшее значение, которое вы можете указать. Он явно использует символы 0-9
и a-z
для цифр (всего 36).
Мой вопрос: какой самый быстрый способ преобразовать число в представление базы 64 (например, используя a-z
и -
и _
для дополнительных 28 цифр)?
Обновить. Четыре человека опубликовали ответы, в которых говорится, что этот вопрос дублируется или что я ищу Base64. Я не.
"Base64" - это способ кодирования двоичных данных в простом наборе символов ASCII, чтобы сделать его безопасным для передачи по сетям и т.д. (так что текст - только системы не будут искажать двоичные файлы).
Это не то, о чем я прошу. Я прошу преобразовать числа в строковое представление radix 64. (JavaScript toString(radix)
делает это автоматически для любого radix до 36, мне нужна настраиваемая функция для получения radix 64.)
Обновление 2. Вот несколько примеров ввода и вывода...
0 → "0"
1 → "1"
9 → "9"
10 → "a"
35 → "z"
61 → "Z"
62 → "-"
63 → "_"
64 → "10"
65 → "11"
128 → "20"
etc.