Spec-Zone.ru › Kotlin 2

encodeIntoByteArray

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

Начиная с Kotlin: 2.2

fun encodeIntoByteArray(source: ByteArray, destination: ByteArray, destinationOffset: Int = 0, startIndex: Int = 0, endIndex: Int = source.size): Int

Кодирует байты из указанного массива source или его поддиапазона и записывает полученные символы в массив destination. Возвращает количество записанных символов.

Добавление '=' в конец результата кодирования зависит от значения PaddingOption, заданного для данного экземпляра Base64.

Возвращает

количество символов, записанных в массив destination.

Параметры

source

массив, из которого нужно кодировать байты.

destination

массив, в который нужно записать символы.

destinationOffset

начальный индекс в массиве destination, с которого записываются символы; по умолчанию — 0.

startIndex

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

endIndex

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

Выбрасывает

IndexOutOfBoundsException

если полученные символы не помещаются в массив destination, начиная с указанного значения destinationOffset, или если этот индекс находится за пределами диапазона индексов массива destination.

IllegalArgumentException

если startIndex > endIndex.

Примеры

import kotlin.io.encoding.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   val data = byteArrayOf(-1, 0, -2, 0, -3)
val outputBuffer = ByteArray(1024)

var bufferPosition = 0
// encode data into buffer using Base64 encoding
// and keep track of the number of bytes written
bufferPosition += Base64.encodeIntoByteArray(data, outputBuffer)
println(outputBuffer.decodeToString(endIndex = bufferPosition)) // /wD+AP0=

outputBuffer[bufferPosition++] = '|'.code.toByte()

// encode data subrange to the buffer, writing it from the given offset
bufferPosition += Base64.encodeIntoByteArray(
    data,
    destination = outputBuffer,
    destinationOffset = bufferPosition,
    startIndex = 1,
    endIndex = 3
)
println(outputBuffer.decodeToString(endIndex = bufferPosition)) // /wD+AP0=|AP4= 
   //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/encode-into-byte-array.html

Spec-Zone.ru

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