Spec-Zone.ru › Kotlin 2

decode

kotlin-stdlib/kotlin.io.encoding/Base64/decode

Начиная с Kotlin: 2.2

fun decode(source: ByteArray, startIndex: Int = 0, endIndex: Int = source.size): ByteArray

Декодирует символы из указанного массива source или его поддиапазона. Возвращает ByteArray, содержащий полученные байты.

Необходимость, запрет или необязательность заполнения входных символов определяется значением PaddingOption, заданным для этого экземпляра Base64.

Возвращает

ByteArray с полученными байтами.

Параметры

source

массив, из которого декодируются символы.

startIndex

начало (включительно) поддиапазона для декодирования; по умолчанию — 0.

endIndex

конец (не включительно) поддиапазона для декодирования; по умолчанию — размер массива source.

Исключения

IndexOutOfBoundsException

если startIndex или endIndex выходит за пределы индексов массива source.

IllegalArgumentException

если символы для декодирования не заполнены так, как требует 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 с полученными байтами.

Параметры

source

символьная последовательность, из которой декодируются символы.

startIndex

начало (включительно) подстроки для декодирования; по умолчанию — 0.

endIndex

конец (не включительно) подстроки для декодирования; по умолчанию — длина source.

Исключения

IndexOutOfBoundsException

если startIndex или endIndex выходит за пределы индексов source.

IllegalArgumentException

если символы для декодирования не заполнены так, как требует 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

Spec-Zone.ru

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