Функция asUByteArray
Функция asUByteArray
преобразует массив чисел
в массив беззнаковых байтов типа UByte
.
Применяется к массивам чисел типа Byte
,
Short
, Int
, Long
,
Float
или Double
.
Каждый элемент массива преобразуется в беззнаковый байт
с сохранением битового представления.
Импорт
import kotlin.experimental.asUByteArray
Синтаксис
fun ByteArray.asUByteArray(): UByteArray
fun ShortArray.asUByteArray(): UByteArray
fun IntArray.asUByteArray(): UByteArray
fun LongArray.asUByteArray(): UByteArray
fun FloatArray.asUByteArray(): UByteArray
fun DoubleArray.asUByteArray(): UByteArray
Пример
Преобразуем массив знаковых байтов типа ByteArray
в массив беззнаковых байтов:
val byteArray: ByteArray = byteArrayOf(-1, 0, 1, 127, -128)
val uByteArray: UByteArray = byteArray.asUByteArray()
println(uByteArray.contentToString())
Результат выполнения кода:
UByteArray [255, 0, 1, 127, 128]
Пример
Преобразуем массив целых чисел типа IntArray
в массив беззнаковых байтов:
val intArray: IntArray = intArrayOf(255, 128, 64, 32, 16)
val uByteArray: UByteArray = intArray.asUByteArray()
println(uByteArray.contentToString())
Результат выполнения кода:
UByteArray [255, 128, 64, 32, 16]
Пример
Преобразуем массив чисел с плавающей точкой типа FloatArray
в массив беззнаковых байтов:
val floatArray: FloatArray = floatArrayOf(1.0F, 2.5F, 3.14F)
val uByteArray: UByteArray = floatArray.asUByteArray()
println(uByteArray.contentToString())
Результат выполнения кода:
UByteArray [0, 0, 128, 63, 0, 0, 32, 64, 195, 245, 72, 64]
Примечания
Функция asUByteArray
выполняет преобразование
на уровне битового представления данных без изменения
самих битов. Для чисел с плавающей точкой это означает,
что преобразуется битовое представление числа, а не
его числовое значение.
Размер результирующего массива UByteArray
зависит
от типа исходного массива и количества элементов:
- для
ByteArray
- размер сохраняется - для
ShortArray
- размер увеличивается в 2 раза - для
IntArray
- размер увеличивается в 4 раза - для
LongArray
- размер увеличивается в 8 раза - для
FloatArray
- размер увеличивается в 4 раза - для
DoubleArray
- размер увеличивается в 8 раза
Смотрите также
-
функцию
toUByte
,
которая преобразует число в беззнаковый байт -
функцию
toUByteArray
,
которая создает массив беззнаковых байтов из коллекции -
функцию
asByteArray
,
которая преобразует массив в массив знаковых байтов -
функцию
toArray
,
которая преобразует коллекцию в массив объектов