Spec-Zone.ru › Kotlin 2

byteSeparator

kotlin-stdlib/kotlin.text/HexFormat/BytesHexFormat/byteSeparator

Начиная с Kotlin: 2.2

val byteSeparator: String

Строка, используемая для разделения соседних байтов внутри группы.

Количество байтов в каждой группе определяется параметром bytesPerGroup.

При форматировании соседние байты в каждой группе разделяются этой строкой.

При разборе соседние байты в каждой группе должны разделяться этой строкой. Разбор этого разделителя выполняется без учета регистра.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val data = ByteArray(7) { it.toByte() }

// By default, the byteSeparator is an empty string, hence all bytes are concatenated without any separator.
println(data.toHexString()) // 00010203040506
println("\"00010203040506\".hexToByteArray().contentEquals(data) is ${"00010203040506".hexToByteArray().contentEquals(data)}") // true

// Specifying a custom byte separator, a colon in this case.
val colonByteSeparatorFormat = HexFormat { bytes.byteSeparator = ":" }
println(data.toHexString(colonByteSeparatorFormat)) // 00:01:02:03:04:05:06
println("\"00:01:02:03:04:05:06\".hexToByteArray(colonByteSeparatorFormat).contentEquals(data) is ${"00:01:02:03:04:05:06".hexToByteArray(colonByteSeparatorFormat).contentEquals(data)}") // true

// Only adjacent bytes within a group are separated by the byteSeparator.
val groupFormat = HexFormat {
    bytes.bytesPerGroup = 3
    bytes.byteSeparator = ":"
}
println(data.toHexString(groupFormat)) // 00:01:02  03:04:05  06
println("\"00:01:02  03:04:05  06\".hexToByteArray(groupFormat).contentEquals(data) is ${"00:01:02  03:04:05  06".hexToByteArray(groupFormat).contentEquals(data)}") // true

// Parsing fails due to incorrect byte separator.
// In this case, the input string is lacking the necessary byte separators within groups.
// "000102  030405  06".hexToByteArray(groupFormat) // 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.text/-hex-format/-bytes-hex-format/byte-separator.html

Spec-Zone.ru

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