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