Типы текстовых данных Java (String
, char
и Character
) - то же самое касается .NET, JavaScript, VB4 / 5/6 / A / Script,…) всегда используют кодировку UTF-16 символовНабор символов Unicode.
Многие интерфейсы, привязки, драйверы, адаптеры данных и все, что не понимают, понимают, что тип данных text - это UTF-16 и какой символьный кодировщик нужен для целевого объекта, а также для самого преобразования. Пока вы используете типы данных Java, если у вас есть кодировка текста как UTF-8 или TIS620, вы обычно используете байтовый массив.
Что это за простой текст как текст.
Теперь, если у вас есть массив произвольных байтов, и вы хотите записать его в текстовый контекст, вы можете использовать Base64. Такая функция принимает массив байтов и возвращает строку (конечно, в кодировке UTF-16). Но так как используемые символы поддерживаются каждым набором символов, не будет потери данных для преобразования данных в любое другое кодирование.
Людям нравится иметь дело с типами текстовых данных, поэтому приведенная выше схема великолепна. Но почему-то вместо Base64 некоторые люди используют то, что я называю Base256. У них есть массив байтов (очень часто создаваемый из кодировки текста с кодировкой символов), и они применяют функцию кодирования для преобразования байтов в текст, выбирая кодирование путем декодирования с кодировкой символов. Вам необходимо определить, имеете ли вы с этим дело, и если да, то какая кодировка символов была выбрана в качестве кодировки Base256. (Часто для этого используется кодировка ISO 8859-1.)