Spec-Zone.ru › Kotlin 2

decodingWith

kotlin-stdlib/kotlin.io.encoding/decodingWith

Начиная с Kotlin: 1.8

@ExperimentalEncodingApi
fun InputStream.decodingWith(base64: Base64): InputStream

Возвращает входной поток, который декодирует символы из этого входного потока с использованием указанной кодировки base64. Дополнительные сведения о самой кодировке см. в документации Base64.

Чтение из возвращённого входного потока приводит к чтению некоторых символов из базового входного потока. Символы декодируются с использованием указанной кодировки base64, после чего возвращаются полученные байты. Символы декодируются блоками по 4 символа.

Требование, запрет или необязательность заполнения входных символов определяется значением PaddingOption, заданным для экземпляра base64. Символ заполнения '=' интерпретируется как конец потока символов. Последующие символы не считываются, даже если базовый входной поток ещё не достиг конца.

Возвращённый входной поток следует своевременно закрыть. Рекомендуем использовать функцию use, которая закрывает ресурс после выполнения заданного блока кода. Операция закрытия отбрасывает оставшиеся байты. Закрытие возвращённого входного потока приведёт к закрытию базового входного потока.

См. также

Base64

Примеры

import java.io.*
import kotlin.io.encoding.*

fun main() { 
   //sampleStart 
   ByteArrayInputStream("SGVsbG8gV29ybGQh".toByteArray()).decodingWith(Base64.Default).use {
    println(it.readBytes().decodeToString()) // Hello World!
}

ByteArrayInputStream("UGFkOg==... and everything else".toByteArray()).use { input ->
    input.decodingWith(Base64.Default).also {
        // Reads only Base64-encoded part, including padding
        println(it.readBytes().decodeToString()) // Pad:
    }
    // The original stream will only contain remaining bytes
    println(input.readBytes().decodeToString()) // ... and everything else
} 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.io.encoding/decoding-with.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API