to Hex String
Начиная с Kotlin: 2.2
fun ByteArray.toHexString(format: HexFormat = HexFormat.Default): String
inline fun UByteArray.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует байты в этом массиве, используя указанный формат.
Обратите внимание: на результат форматирования этого массива байтов влияют только свойства HexFormat.upperCase и HexFormat.bytes экземпляра формата.
Каждый байт массива преобразуется в две шестнадцатеричные цифры. Первая цифра представляет 4 старших бита, а вторая — 4 младших бита байта. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.bytes задает строки, добавляемые перед и после представления каждого байта, а также определяет порядок расположения этих представлений.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.BytesHexFormat.
Возвращает
результат форматирования этого массива с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Вызывает исключение
если длина результата превышает максимальную емкость String.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val data = byteArrayOf(0xDE.toByte(), 0x2D, 0x02, 0xC0.toByte(), 0x5C, 0x0E)
// Using the default format
println(data.toHexString()) // de2d02c05c0e
// Using a custom format
val format = HexFormat {
upperCase = true
bytes {
bytesPerLine = 4
byteSeparator = " " // One space
bytePrefix = "0x"
}
}
println(data.toHexString(format)) // 0xDE 0x2D 0x02 0xC0\n0x5C 0x0E
// Formatting a segment of the byte array
println(data.toHexString(startIndex = 2, endIndex = 5, format)) // 0x02 0xC0 0x5C
// Formatting unsigned bytes with the same binary representations yields the same string
val unsignedData = data.toUByteArray()
println(unsignedData.toHexString(format)) // 0xDE 0x2D 0x02 0xC0\n0x5C 0x0E
//sampleEnd
}
fun ByteArray.toHexString(startIndex: Int = 0, endIndex: Int = size, format: HexFormat = HexFormat.Default): String
inline fun UByteArray.toHexString(startIndex: Int = 0, endIndex: Int = size, format: HexFormat = HexFormat.Default): String
Форматирует байты в этом массиве, используя указанный формат.
Обратите внимание: на результат форматирования этого массива байтов влияют только свойства HexFormat.upperCase и HexFormat.bytes экземпляра формата.
Каждый байт массива преобразуется в две шестнадцатеричные цифры. Первая цифра представляет 4 старших бита, а вторая — 4 младших бита байта. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.bytes задает строки, добавляемые перед и после представления каждого байта, а также определяет порядок расположения этих представлений.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.BytesHexFormat.
Возвращает
результат форматирования этого массива с использованием указанного формата.
Параметры
начало (включительно) форматируемого поддиапазона; по умолчанию — 0.
конец (не включительно) форматируемого поддиапазона; по умолчанию — размер этого массива.
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Вызывает исключение
если startIndex или endIndex выходит за пределы индексов этого массива.
если длина результата превышает максимальную емкость String.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val data = byteArrayOf(0xDE.toByte(), 0x2D, 0x02, 0xC0.toByte(), 0x5C, 0x0E)
// Using the default format
println(data.toHexString()) // de2d02c05c0e
// Using a custom format
val format = HexFormat {
upperCase = true
bytes {
bytesPerLine = 4
byteSeparator = " " // One space
bytePrefix = "0x"
}
}
println(data.toHexString(format)) // 0xDE 0x2D 0x02 0xC0\n0x5C 0x0E
// Formatting a segment of the byte array
println(data.toHexString(startIndex = 2, endIndex = 5, format)) // 0x02 0xC0 0x5C
// Formatting unsigned bytes with the same binary representations yields the same string
val unsignedData = data.toUByteArray()
println(unsignedData.toHexString(format)) // 0xDE 0x2D 0x02 0xC0\n0x5C 0x0E
//sampleEnd
}
fun Byte.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа Byte, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа Byte в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value: Byte = 58
println(value.toHexString()) // 3a
// Converts the Byte to an unsigned hexadecimal representation
println((-1).toByte().toHexString()) // ff
// Using a custom format
val format = HexFormat {
upperCase = true
number {
prefix = "\\u" // A Unicode escape prefix
minLength = 4
}
}
println(value.toHexString(format)) // \\u003A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue: UByte = 58u
println(uValue.toHexString(format)) // \\u003A
//sampleEnd
}
fun Short.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа Short, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа Short в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value: Short = 58
println(value.toHexString()) // 003a
// Converts the Short to an unsigned hexadecimal representation
println((-1).toShort().toHexString()) // ffff
// Using a custom format
val format = HexFormat {
upperCase = true
number {
prefix = "0x"
removeLeadingZeros = true
}
}
println(value.toHexString(format)) // 0x3A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue: UShort = 58u
println(uValue.toHexString(format)) // 0x3A
//sampleEnd
}
fun Int.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа Int, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа Int в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value = 58
println(value.toHexString()) // 0000003a
// Converts the Int to an unsigned hexadecimal representation
println((-1).toHexString()) // ffffffff
// Using a custom format
val format = HexFormat {
upperCase = true
number {
prefix = "#"
removeLeadingZeros = true
minLength = 6
}
}
println(value.toHexString(format)) // #00003A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue = 58u
println(uValue.toHexString(format)) // #00003A
//sampleEnd
}
fun Long.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа Long, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа Long в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value = 58L
println(value.toHexString()) // 000000000000003a
// Converts the Long to an unsigned hexadecimal representation
println((-1L).toHexString()) // ffffffffffffffff
// Using a custom format
val format = HexFormat {
upperCase = true
number.removeLeadingZeros = true
}
println(value.toHexString(format)) // 3A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue = 58uL
println(uValue.toHexString(format)) // 3A
//sampleEnd
}
inline fun UByte.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа UByte, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа UByte в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value: Byte = 58
println(value.toHexString()) // 3a
// Converts the Byte to an unsigned hexadecimal representation
println((-1).toByte().toHexString()) // ff
// Using a custom format
val format = HexFormat {
upperCase = true
number {
prefix = "\\u" // A Unicode escape prefix
minLength = 4
}
}
println(value.toHexString(format)) // \\u003A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue: UByte = 58u
println(uValue.toHexString(format)) // \\u003A
//sampleEnd
}
inline fun UShort.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа UShort, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа UShort в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value: Short = 58
println(value.toHexString()) // 003a
// Converts the Short to an unsigned hexadecimal representation
println((-1).toShort().toHexString()) // ffff
// Using a custom format
val format = HexFormat {
upperCase = true
number {
prefix = "0x"
removeLeadingZeros = true
}
}
println(value.toHexString(format)) // 0x3A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue: UShort = 58u
println(uValue.toHexString(format)) // 0x3A
//sampleEnd
}
inline fun UInt.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа UInt, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа UInt в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value = 58
println(value.toHexString()) // 0000003a
// Converts the Int to an unsigned hexadecimal representation
println((-1).toHexString()) // ffffffff
// Using a custom format
val format = HexFormat {
upperCase = true
number {
prefix = "#"
removeLeadingZeros = true
minLength = 6
}
}
println(value.toHexString(format)) // #00003A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue = 58u
println(uValue.toHexString(format)) // #00003A
//sampleEnd
}
inline fun ULong.toHexString(format: HexFormat = HexFormat.Default): String
Форматирует это значение типа ULong, используя указанный формат.
Обратите внимание: на результат форматирования этого числового значения влияют только свойства HexFormat.upperCase и HexFormat.number экземпляра формата.
Эта функция преобразует значение типа ULong в его шестнадцатеричное представление, сопоставляя каждый четырехбитный фрагмент двоичного представления соответствующей шестнадцатеричной цифре, начиная со старших битов. Свойство HexFormat.upperCase определяет, будут ли для этого преобразования использоваться шестнадцатеричные цифры в верхнем (0-9, A-F) или нижнем (0-9, a-f) регистре. Свойство HexFormat.number регулирует длину шестнадцатеричного представления, добавляя или удаляя при необходимости ведущие нули, а также задает строки, добавляемые перед и после полученного представления.
Подробную информацию о доступных параметрах формата и их влиянии на форматирование см. в разделе HexFormat.NumberHexFormat.
Возвращает
результат форматирования этого значения с использованием указанного формата.
Параметры
HexFormat, используемый для форматирования; по умолчанию — HexFormat.Default.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
val value = 58L
println(value.toHexString()) // 000000000000003a
// Converts the Long to an unsigned hexadecimal representation
println((-1L).toHexString()) // ffffffffffffffff
// Using a custom format
val format = HexFormat {
upperCase = true
number.removeLeadingZeros = true
}
println(value.toHexString(format)) // 3A
// Formatting an unsigned value with the same binary representations yields the same string
val uValue = 58uL
println(uValue.toHexString(format)) // 3A
//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/to-hex-string.html