[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-kak-sozdat-base64-kodirovshchik-i-dekodirovshchik":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},395,"kak-sozdat-base64-kodirovshchik-i-dekodirovshchik",10,"java-8","Java 8+","☕","Как создать Base64 кодировщик и декодировщик?","Кодирование и декодирование выполняется через статические методы класса `Base64`:\n\n```java\n\u002F\u002F Кодирование\nString encoded = Base64.getEncoder()\n    .encodeToString(\"input\".getBytes(\"utf-8\")); \u002F\u002F \"aW5wdXQ=\"\n\n\u002F\u002F Декодирование\nString decoded = new String(\n    Base64.getDecoder().decode(\"aW5wdXQ=\"), \"utf-8\"); \u002F\u002F \"input\"\n```\n\nДля потокового кодирования больших объёмов данных используются обёртки над `OutputStream` и `InputStream`:\n\n```java\n\u002F\u002F Потоковое кодирование\nOutputStream os = Base64.getEncoder().wrap(new FileOutputStream(\"encoded.txt\"));\nos.write(\"large data\".getBytes());\nos.close();\n\n\u002F\u002F Потоковое декодирование\nInputStream is = Base64.getDecoder().wrap(new FileInputStream(\"encoded.txt\"));\n```\n\nПотоковый подход эффективен для работы с большими файлами, поскольку не требует загрузки всего содержимого в память.\n\n> **На собеседовании:** помимо базового примера, упомяните потоковое кодирование через `wrap()` — это показывает знание API за пределами тривиального использования.","","junior",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":20,"keywords":21,"schemaAnswer":20,"featuredSnippetReady":22},"Как создать Base64 кодировщик и декодировщик? — Gymterview","Кодирование и декодирование выполняется через статические методы класса `Base64`:",[15,13],true]