Spec-Zone.ru › Kotlin 2

Pem

kotlin-stdlib/kotlin.io.encoding/Base64/Default/Pem

Начиная с Kotlin: 2.2

val Pem: Base64

Кодирование, указанное в RFC 1421 section 4.3.2.4, — кодирование передачи содержимого Base64.

Для кодирования и декодирования используется алфавит кодирования, указанный в таблице 1 RFC 1421 и состоящий из символов 'A'..'Z', 'a'..'z', '+' и '/'.

Для этого экземпляра задан параметр дополнения PaddingOption.PRESENT. При необходимости используйте функцию withPadding, чтобы создать новый экземпляр с другим параметром дополнения.

При кодировании CRLF добавляется после каждых 64 символов. В конец закодированного результата разделитель строк не добавляется. При декодировании игнорируются все разделители строк и другие символы, не входящие в алфавит Base64.

Примеры

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

fun main() { 
   //sampleStart 
   val encoded = Base64.Pem.encode("Hello? :> ".encodeToByteArray())
println(encoded) // SGVsbG8/IDo+IA==

// Mime encoding ignores all characters not belonging to its alphabet
val decoded = Base64.Pem.decode("Y@{mFz!Z!TY}0")
println(decoded.decodeToString()) // base64

// let's encode some long text
val sourceText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
        "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
        "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris " +
        "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in " +
        "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla " +
        "pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa" +
        " qui officia deserunt mollit anim id est laborum."

val encodedText = Base64.Pem.encode(sourceText.encodeToByteArray())
println(encodedText)

val encodedLines = encodedText.lines()
println("${encodedLines.count()} lines, at most ${encodedLines.maxOf { it.length }} characters each") // 10 lines, at most 64 characters each

println("sourceText == Base64.Pem.decode(encodedText).decodeToString() is ${sourceText == Base64.Pem.decode(encodedText).decodeToString()}") // 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/-default/-pem.html

Spec-Zone.ru

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