Spec-Zone.ru › Kotlin 2

Mime

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

Начиная с Kotlin: 2.2

val Mime: Base64

Кодирование, определённое в RFC 2045 section 6.8, Base64 Content-Transfer-Encoding.

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

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

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

Примеры

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

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

// Mime encoding ignores all characters not belonging to its alphabet
val decoded = Base64.Mime.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.Mime.encode(sourceText.encodeToByteArray())
println(encodedText)

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

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

Spec-Zone.ru

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