Spec-Zone.ru › Kotlin 2

hexToUByte

kotlin-stdlib/kotlin.text/hexToUByte

Начиная с Kotlin: 2.2

inline fun String.hexToUByte(format: HexFormat = HexFormat.Default): UByte

Разбирает значение UByte из этой строки, используя указанный формат.

Строка должна соответствовать структуре, определенной форматом. Обратите внимание, что на разбор числового значения влияет только свойство HexFormat.number экземпляра формата.

Входная строка должна начинаться с префикса и заканчиваться суффиксом, определенными в свойстве HexFormat.number. Кроме того, между ними должна находиться хотя бы одна шестнадцатеричная цифра. Если количество шестнадцатеричных цифр превышает две, лишние ведущие цифры должны быть нулями. Это гарантирует, что значение, представленное шестнадцатеричными цифрами, помещается в 8-битное UByte. Разбор выполняется без учета регистра, в том числе для шестнадцатеричных цифр, префикса и суффикса.

Подробные сведения о доступных параметрах формата и их влиянии на разбор см. в HexFormat.NumberHexFormat.

Возвращаемое значение

значение UByte, разобранное из этой строки.

Параметры

format

объект HexFormat, используемый для разбора; по умолчанию — HexFormat.Default.

Исключения

IllegalArgumentException

если эта строка не соответствует указанному формату или если шестнадцатеричные цифры представляют значение, которое не помещается в UByte.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   // Using the default format
println("3a".hexToByte()) // 58

// Parsing is case-insensitive
println("3A".hexToByte()) // 58

// Up to 2 hexadecimal digits can fit into a Byte
println("ff".hexToByte()) // -1

// Excess leading hexadecimal digits must be zeros
println("00ff".hexToByte()) // -1
// "0100".hexToByte() // will fail with IllegalArgumentException

// Parsing an UByte results in the unsigned version of the same value
// In this case, (-1).toUByte() = UByte.MAX_VALUE
println("ff".hexToULong()) // 255

// Using a custom format
val format = HexFormat { number.prefix = "0x" }
println("0x3A".hexToByte(format)) // 58

// Parsing fails if the input string does not conform to the specified format.
// In this case, the prefix is not present.
// "3A".hexToByte(format) // 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-to-u-byte.html

Spec-Zone.ru

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