PRESENT
Добавлять заполнение при кодировании, требовать заполнение при декодировании.
При кодировании результат дополняется символами '=' до кратного 4 количества символов. При декодировании требуется правильно дополненный входной текст. Символ заполнения '=' отмечает конец закодированных данных, после него другие символы запрещены.
Это каноническая форма кодирования Base64.
Примеры
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())
// The predefined Base64 instances are configured with PaddingOption.PRESENT.
// Hence, the same instance is returned.
val isSameInstance = Base64.Default.withPadding(Base64.PaddingOption.PRESENT) === Base64.Default
println("isSameInstance is ${isSameInstance}") // true
// PaddingOption.PRESENT pads on encode, and requires padded input on decode
println(Base64.Default.encode(bytes)) // 3i0CwA==
println(Base64.Default.decode("3i0CwA==").toHexString(format)) // DE 2D 02 C0
// PaddingOption.PRESENT requires the decode input to be properly padded
// Base64.Default.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/-p-r-e-s-e-n-t/index.html