Розбираємося, чому «кодування за замовчуванням» — це прихована залежність від оточення, і як зробити поведінку введення-виведення відтворюваною: використовуємо явний
Charset і
Charsets
.
UTF_8, читаємо та пишемо текст через
readText/
writeText, за потреби працюємо з
ByteArray і ручним декодуванням, застосовуємо потоковий підхід через
bufferedReader/
use, а також збираємо міні-API, щоб кодування залишалося «єдиною точкою правди». Наприкінці — типові помилки під час роботи з кодуваннями.