decode
Начиная с Kotlin: 2.2
fun decode(source: ByteArray, startIndex: Int = 0, endIndex: Int = source.size): ByteArray
Декодирует символы из указанного массива source или его поддиапазона. Возвращает ByteArray, содержащий полученные байты.
Необходимость, запрет или необязательность заполнения входных символов определяется значением PaddingOption, заданным для этого экземпляра Base64.
Возвращает
ByteArray с полученными байтами.
Параметры
массив, из которого декодируются символы.
начало (включительно) поддиапазона для декодирования; по умолчанию — 0.
конец (не включительно) поддиапазона для декодирования; по умолчанию — размер массива source.
Исключения
если startIndex или endIndex выходит за пределы индексов массива source.
если символы для декодирования не заполнены так, как требует PaddingOption, заданный для этого экземпляра Base64, или если после заполнения есть лишние символы.
Примеры
import kotlin.io.encoding.*
import kotlin.test.*
fun main() {
//sampleStart
// get a byte array filled with data, for instance, by reading it from a network
val data = byteArrayOf(0x61, 0x47, 0x56, 0x73, 0x62, 0x47, 0x38, 0x3d)
// decode data from the array
println("Base64.decode(data).contentEquals(\"hello\".encodeToByteArray()) is ${Base64.decode(data).contentEquals("hello".encodeToByteArray())}") // true
val dataInTheMiddle = byteArrayOf(0x00, 0x00, 0x61, 0x47, 0x56, 0x73, 0x62, 0x47, 0x38, 0x3d, 0x00, 0x00)
// decode base64-encoded data from the middle of a buffer
val decoded = Base64.decode(dataInTheMiddle, startIndex = 2, endIndex = 10)
println("decoded.contentEquals(\"hello\".encodeToByteArray()) is ${decoded.contentEquals("hello".encodeToByteArray())}") // true
//sampleEnd
}
fun decode(source: CharSequence, startIndex: Int = 0, endIndex: Int = source.length): ByteArray
Декодирует символы из указанной символьной последовательности source или её подстроки. Возвращает ByteArray, содержащий полученные байты.
Необходимость, запрет или необязательность заполнения входных символов определяется значением PaddingOption, заданным для этого экземпляра Base64.
Возвращает
ByteArray с полученными байтами.
Параметры
символьная последовательность, из которой декодируются символы.
начало (включительно) подстроки для декодирования; по умолчанию — 0.
конец (не включительно) подстроки для декодирования; по умолчанию — длина source.
Исключения
если startIndex или endIndex выходит за пределы индексов source.
если символы для декодирования не заполнены так, как требует PaddingOption, заданный для этого экземпляра Base64, или если после заполнения есть лишние символы.
Примеры
import kotlin.io.encoding.*
import kotlin.test.*
fun main() {
//sampleStart
println("Base64.decode(\"/wD+AP0=\").contentEquals(byteArrayOf(-1, 0, -2, 0, -3)) is ${Base64.decode("/wD+AP0=").contentEquals(byteArrayOf(-1, 0, -2, 0, -3))}") // true
val embeddedB64 = "Data is: \"/wD+AP0=\""
// find '"' indices and extract base64-encoded data in between
val decoded = Base64.decode(
embeddedB64,
startIndex = embeddedB64.indexOf('"') + 1,
endIndex = embeddedB64.lastIndexOf('"')
)
println("decoded.contentEquals(byteArrayOf(-1, 0, -2, 0, -3)) is ${decoded.contentEquals(byteArrayOf(-1, 0, -2, 0, -3))}") // true
//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/-base64/decode.html