Spec-Zone.ru › Kotlin 2

PRESENT_OPTIONAL

kotlin-stdlib/kotlin.io.encoding/Base64/PaddingOption/PRESENT_OPTIONAL
PRESENT_OPTIONAL

Добавлять дополнение при кодировании; допускать его отсутствие при декодировании.

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

Примеры

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

fun main() { 
   //sampleStart 
   val format = HexFormat { upperCase = true; bytes.byteSeparator = " " }
val bytes = byteArrayOf(0xDE.toByte(), 0x2D, 0x02, 0xC0.toByte())

val base64PresentOptionalPadding = Base64.Default.withPadding(Base64.PaddingOption.PRESENT_OPTIONAL)

// PaddingOption.PRESENT_OPTIONAL pads on encode
println(base64PresentOptionalPadding.encode(bytes)) // 3i0CwA==
// It allows both padded and unpadded decode inputs
println(base64PresentOptionalPadding.decode("3i0CwA==").toHexString(format)) // DE 2D 02 C0
println(base64PresentOptionalPadding.decode("3i0CwA").toHexString(format)) // DE 2D 02 C0
// However, partially padded input is prohibited
// base64PresentOptionalPadding.decode("3i0CwA=") // will fail with IllegalArgumentException 
   //sampleEnd
}

Свойства

name
expect val name: String

Возвращает имя этой константы перечисления в точности в том виде, в котором оно объявлено в объявлении перечисления.

ordinal
expect val ordinal: Int

Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления, где первой константе присваивается порядковый номер 0).

© 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/-padding-option/-p-r-e-s-e-n-t_-o-p-t-i-o-n-a-l/index.html

Spec-Zone.ru

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