Разбираем три базовые кодировки, с которыми сталкивается Java‑разработчик: что такое
UTF-8 (стандарт для web и большинства форматов), как устроен внутренний формат строк в JVM —
UTF-16 (с суррогатными парами и
BOM), и зачем до сих пор встречается
ISO-8859-1. Поясняем совместимость с
ASCII, объём в байтах на символ, и показываем правильную работу с кодировками в Java с помощью
StandardCharsets,
Files.write,
Files.readString,
Paths.get. В конце — типичные ошибки: неверное чтение/запись, системная кодировка «по умолчанию», путаница
UTF-16/
UTF-8.