2014-02-17 7 views
-1

Как известно, Base-64 кодирует двоичные данные в передаваемые строки ASCII, и мы декодируем эти строки обратно к данным.Может ли ВСЕ строка декодироваться как действительные двоичные данные?

Теперь мой вопрос инвертирован: может ли каждая случайная строка быть декодирована в виде двоичных данных и правильно закодирована обратно в точную исходную строку?

+0

Декодировано как _what_? И что означает «действительный»? Вы просите UTF8? – SLaks

+0

Как строка UTF-8. –

ответ

1

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

+0

UTF-8 строка. Кажется, я должен придерживаться некоторого ограничения: строка содержит символы UTF-8, за исключением: '\ t', '\ r', '\ n. Но могут быть включены пробелы (пробелы), '/', '-', '_'. –

Смежные вопросы