Jak surowe dane są podzielone na bajty.

Jak obecny dźwięk zawiera 32bit (2 ^ 32 ton) waha się od 2 ^ 0 - 2 ^ 32.

Ex -> 6710497 .. (rozważając dziesiętną)

Jak się dzieli

67 104 97.

Czy FileInputStream ma metodę sprawdzenia

Jeśli (671> 256) {Wyślij 67, następny dołącz 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 84 73 84 50 0 0 0 76 0 0 0 67 104 97 114 108 105 101 32 80. . .

EDYTUJ

Czy to jest poprawne

I / P -> Tekst "4-"

36 52 45 (ASCII dziesiętny)

00100100 00110100 00101101 (binary ASCII)

I / P -> obraz Pixel (RGB) '0,255,100'

00000000 11111111 1100100.

I / P -> Audio (32 bit, 2 ^ 32 tony) "1073741822"

1111111111111111111111010 (Forma binarna)

00111111 1111111111111111110 (Podziel do bajtów) [jeden ton]

63 255 255 254

1
Sathvik 17 styczeń 2020, 17:20

1 odpowiedź

Najlepsza odpowiedź

Fis.Read () odczytuje bajt danych z strumienia wejściowego i reprezentuje go jako int. Powiedzmy więc, że twój plik ma 2 bajty danych binarnych: 0100001101101000

Pierwsze połączenie FIS.Read () przeczyta 01000011 (i jest 67 w dziesięciu)

Drugi telefon FIS.Read () odczytuje 01101000 (i jest 104 w dziesiętnie).

Dlatego widzisz wyjście jak 67 104 ...

1
Roman Golov 17 styczeń 2020, 14:56