Возможно глупый вопрос, но хочется разобраться в некоторых фундоментальных вещах. Допустим имеем код:
public class MyTEST {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            FileInputStream fileInputStream = new FileInputStream(scanner.nextLine());
            while (fileInputStream.available()>0){
                int data = fileInputStream.read();
                System.out.print(data+" ");
                System.out.println((char)data);

            }
            fileInputStream.close();
            scanner.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Считываем побайтово файл и выводим на консоль в виде 10-чного представления байта и соответствующего ему символьного. Просьба знающих пояснить. Допустим в файле имеется английская "A" и все. Получим в консоле
65 A
что логично. Откроем например https://unicode-table.com/ru/#0410 найдем английскую A и видим, что в десятичном представлении её значение равно 65. Поменяем в исходном файле английскую A на русскую A и результат будет следующий:
208 Ð
144 
Значение буквы А русского алфавита - 1040 в десятичном формате. Понятно в представление байта это не влезет. И я понимаю, что внутри идет разбивка на несколько байтов, но хотелось бы узнать подробнее. Может кто подскажет или поделиться нужной ссылкой?