Функция asUByteArray

Функция asUByteArray преобразует массив чисел в массив беззнаковых байтов типа UByte. Применяется к массивам чисел типа Byte, Short, Int, Long, Float или Double. Каждый элемент массива преобразуется в беззнаковый байт с сохранением битового представления.

Импорт

kotlinimport kotlin.experimental.asUByteArray

Синтаксис

kotlinfun ByteArray.asUByteArray(): UByteArray
kotlinfun ShortArray.asUByteArray(): UByteArray
kotlinfun IntArray.asUByteArray(): UByteArray
kotlinfun LongArray.asUByteArray(): UByteArray
kotlinfun FloatArray.asUByteArray(): UByteArray
kotlinfun DoubleArray.asUByteArray(): UByteArray

Пример

Преобразуем массив знаковых байтов типа ByteArray в массив беззнаковых байтов:

kotlinval byteArray: ByteArray = byteArrayOf(-1, 0, 1, 127, -128)
val uByteArray: UByteArray = byteArray.asUByteArray()
println(uByteArray.contentToString())

Результат выполнения кода:

kotlinUByteArray [255, 0, 1, 127, 128]

Пример

Преобразуем массив целых чисел типа IntArray в массив беззнаковых байтов:

kotlinval intArray: IntArray = intArrayOf(255, 128, 64, 32, 16)
val uByteArray: UByteArray = intArray.asUByteArray()
println(uByteArray.contentToString())

Результат выполнения кода:

kotlinUByteArray [255, 128, 64, 32, 16]

Пример

Преобразуем массив чисел с плавающей точкой типа FloatArray в массив беззнаковых байтов:

kotlinval floatArray: FloatArray = floatArrayOf(1.0F, 2.5F, 3.14F)
val uByteArray: UByteArray = floatArray.asUByteArray()
println(uByteArray.contentToString())

Результат выполнения кода:

kotlinUByteArray [0, 0, 128, 63, 0, 0, 32, 64, 195, 245, 72, 64]

Примечания

Функция asUByteArray выполняет преобразование на уровне битового представления данных без изменения самих битов. Для чисел с плавающей точкой это означает, что преобразуется битовое представление числа, а не его числовое значение.

Размер результирующего массива UByteArray зависит от типа исходного массива и количества элементов:

Смотрите также

  • функцию toUByte,
    которая преобразует число в беззнаковый байт
  • функцию toUByteArray,
    которая создает массив беззнаковых байтов из коллекции
  • функцию asByteArray,
    которая преобразует массив в массив знаковых байтов
  • функцию toArray,
    которая преобразует коллекцию в массив объектов