Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
98 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция 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,
    которая преобразует коллекцию в массив объектов