Столкнулся с проблемой в примере из книги Шилда :
public class ByteArrayInputReset {
public static void main(String[] args) throws UnsupportedEncodingException {
String tmp = "abc"; // - Проблема ТУТ
byte buf[] = tmp.getBytes();
ByteArrayInputStream in = new ByteArrayInputStream(buf);
for (int i = 0; i < 2 ; i++) {
int c;
while ((c=in.read()) !=-1){
if (i==0){
System.out.print((char) c);
}else {
System.out.print(Character.toUpperCase((char)c));
}
}
System.out.println();
in.reset();
}
}
}
Суть в том, что если я ввожу английские символы в строку tmp, то на консоль все выводится как положено, Но если вводим русские символы (или строки), то на выходе получаем:
абв.
byte buf[] = tmp.getBytes("UTF-8");
Так пробовал разные кодировки, не помогло.
Думаю важно добавить - работаю в intellij idea 2018, настройки - File Enkoding
Стандартный вывод - sout работает как надо
но вот при использовании метода tmp.getBytes(); и русских символов, буфер забивается (непонятной) кодировкой и соответственно извлекается ересь
повторюсь, при использовании анг. символов все отрабатывает как надо.
Объясните пожалуйста как добиться правильного вывода и в чем ошибка?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Объясните пожалуйста, почему для setName пишем в аргументах (String a) a не (String name)? Аналогичный вопрос к (String color) - почему не (String a) и потом color = a? Зачем...
Стоит следующая задача, находясь на странице имеется n-ое количество get переменных, при нажатии на Del, необходимо остаться на данной странице,...
У меня задача сделать плейсхолдеры для товаров на время загрузкиНе могу найти правильный подход