49R Ответов: 2

Как работает java bytestream?


Как необработанные данные делятся на байты.

Поскольку настоящее аудио содержит 32 бит(2^32 тона), оно колеблется от 2^0 до 2^32.

экс -> 6710497.. (Учитывая десятичную дробь)

как она делится на

67 104 97

Не FileInputStream метод, чтобы проверить, как

if(671>256){send 67 , next append 1}

Что я уже пробовал:

try(FileInputStream fis=new FileInputStream("We_Dont_Talk_Anymore.mp3")) { //audio file

        int i;
        while((i=fis.read())!=-1)
            System.out.println(i);  
} catch(Exception e) {
    System.out.println(e);
}

o/p-

73 68 51 3 0 0 0 0 1 9 84 73 84 50 0 0 0 76 0 0 0 67 104 97 114 108 105 101 32 80 . . .


Правильно ли это

i/p -> текст '$4-'

36 52 45 (ascii decimal)

00100100 00110100 00101101 (двоичный код ascii)

i/p -> пиксель изображения(rgb) '0,255,100'

00000000 11111111 1100100

i/p -> аудио(32 бит, 2^32 тона) '1073741822'

11111111111111111111111111111110 (двоичная форма)

00111111 11111111 11111111 11111110 (разделить на байты) [один тон]

63 255 255 254

2 Ответов

Рейтинг:
20

Richard MacCutchan

Любой файл или данные-это просто поток битов. В общем случае удобно обрабатывать поток как набор 8-битных байтов. Однако байты часто группируются вместе, чтобы создать различные типы информации (int, double, string и т. д.). Ключ в том, что вам нужно знать структуру данных, чтобы понять их смысл. Таким образом, число 6710497 в байтовой форме равно 66 64 E1 или в виде отдельных значений 102 104 225. Но то, что представляют собой эти значения, полностью зависит от фактических данных, которые обрабатываются.


49R

как вы получили это '6710497 в байтовой форме-это 66 64 E1'. Это кодировка.

Richard MacCutchan

Это шестнадцатеричное представление десятичного числа 6710497. Но, как я уже упоминал выше, это само по себе ничего не значит. Вопрос всегда заключается в том, в какой форме передаются данные. Это однобайтовый, двухбайтовый (т. е. короткий), 4-байтовый (целочисленный) и т. д. или какая-то случайная последовательность длины?

Рейтинг:
0

Patrice T

Цитата:
Как работает java bytestream?

В потоке байт-это самый маленький фрагмент данных, который вы можете обработать, потому что именно так работает компьютер.
Вы можете считать, что байт подобен цифре (для компьютера), точно так же, как для нас цифра равна 0-9 для нас.
Байт-поток не имеет ни малейшего представления о значении байтов или их организации.
Пример: 20200118, это может быть 8 чисел, если 1 цифра, или 1 число из 8 цифр, или 3 числа из 4 и 2 и 2 цифр для кодирования даты.
Байт - Википедия[^]
Бит - Википедия[^]