byte Separator
Начиная с 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