ABSENT_ OPTIONAL
Не добавлять символы заполнения при кодировании, разрешать необязательные символы заполнения при декодировании.
При кодировании символы заполнения не добавляются. При декодировании входные данные могут содержать символы заполнения или не содержать их. Если входные данные содержат символ заполнения, должно присутствовать правильное количество таких символов. Символ заполнения '=' обозначает конец закодированных данных; последующие символы запрещены.
Примеры
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 base64AbsentOptionalPadding = Base64.Default.withPadding(Base64.PaddingOption.ABSENT_OPTIONAL)
// PaddingOption.ABSENT_OPTIONAL does not pad on encode
println(base64AbsentOptionalPadding.encode(bytes)) // 3i0CwA
// It allows both padded and unpadded decode inputs
println(base64AbsentOptionalPadding.decode("3i0CwA").toHexString(format)) // DE 2D 02 C0
println(base64AbsentOptionalPadding.decode("3i0CwA==").toHexString(format)) // DE 2D 02 C0
// However, partially padded input is prohibited
// base64AbsentOptionalPadding.decode("3i0CwA=") // will fail with IllegalArgumentException
//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/-padding-option/-a-b-s-e-n-t_-o-p-t-i-o-n-a-l/index.html