Преобразование потока интервала к символу в Java

Создайте префаб, теперь щелкните его правой кнопкой мыши в проводнике и выберите зависимости, в которых будут выделены все зависимости, снова щелкните правой кнопкой мыши и экспортируйте пакет

114
задан tijko 14 October 2015 в 22:05
поделиться

4 ответа

Если вы пытаетесь преобразовать поток в текст, вам необходимо знать, какую кодировку вы хотите использовать. Затем вы можете либо передать массив байтов в конструктор String и предоставить Charset , либо использовать вместо него InputStreamReader с соответствующим Charset .

Простое приведение из int к char работает, только если вы хотите ISO-8859-1, если вы читаете байты из потока напрямую.

РЕДАКТИРОВАТЬ: Если вы уже уже используете Reader , а затем возвращаете возвращаемое значение read () в char - правильный путь (после проверка, -1 это или нет) ... но обычно более эффективно и удобно вызывать read (char [], int, int) для чтения целого блока текста за раз. Не забудьте проверить возвращаемое значение, чтобы узнать, сколько символов было прочитано.

74
ответ дан 24 November 2019 в 02:29
поделиться

Возможно, вы запрашиваете:

Character.toChars(65) // returns ['A']

Дополнительная информация: Character.toChars (int codePoint)

Преобразует указанный символ (кодовая точка Unicode) в его представление UTF-16 хранится в массиве символов. Если указанная кодовая точка представляет собой значение BMP (базовая многоязычная плоскость или плоскость 0), результирующий массив символов будет иметь то же значение, что и codePoint. Если указанная кодовая точка является дополнительной кодовой точкой, результирующий массив символов имеет соответствующую суррогатную пару.

144
ответ дан 24 November 2019 в 02:29
поделиться

Простое приведение:

int a = 99;
char c = (char) a;

Есть ли причина, по которой это не работает для вас?

8
ответ дан 24 November 2019 в 02:29
поделиться

Это полностью зависит от кодировки входящих данных.

0
ответ дан 24 November 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: