В base64, что происходит, если символ, который вы хотите закодировать, не A-Z, a-z, + или / - PullRequest
0 голосов
/ 23 октября 2010

В base64, что произойдет, если символ, который вы хотите закодировать, не является AZ, az, + или /?

Если я хотел закодировать URL в base64, в котором есть двоеточие (:), чтопроизойдет, так как его нет в индексе base64.

Ответы [ 3 ]

6 голосов
/ 23 октября 2010

Вы смешиваете стороны кодирования и декодирования. Base64 может кодировать любой символ. Это только декодирование, которое требует ограниченного набора.

1 голос
/ 23 октября 2010

Вы можете закодировать любую последовательность байтов в base64.Все полученные символы будут в разрешенных 64 символах.И, конечно, при декодировании закодированного текста должен быть действительный Base64.

Сказать, что он кодирует любой символ, немного ошибочно, поскольку символы должны сначала быть закодированы в байты.Символ и байт эквивалентны только для нескольких кодировок, таких как ASCII.

0 голосов
/ 23 октября 2010

Я думаю, что вы все путаете - Base64 может кодировать НИЧЕГО , эти пределы просто определяют, как выглядит фактическая закодированная строка.

Так что ничего не произойдет, если вы закодируетедвоеточие в Base64.Однако, если вы попытаетесь декодировать двоеточие, это, скорее всего, приведет к ошибке.

...