JAVA перевод байтового потока в char unicode
Вопрос по поводу байтового чтения данных из консоли.
Например вводим букву "Я". В unicode "Я" равняется числу 1071. При байтовом чтении буквы "Я" мы получаем 2 числа: 208 и 175.
// input "Я"
while (true) {
int x = System.in.read();
System.out.println(x);
}
208 - 11010000, 175 - 10101111
Символьное чтение
// input "Я"
InputStreamReader reader = new InputStreamReader(System.in);
while (true) {
int x = reader.read();
System.out.println(x);
}
char x = 1071;
System.out.println(x); // Я
Русские символы занимают 2 байта в памяти.
Каким образом при переводе байтов в char получается 1071 ? Кто может раписать расчет?