原始数据如何划分为字节。
由于当前音频包含 32 位(2^32 音调),因此范围为 2^0 - 2^32。
ex -> 6710497..(考虑十进制)
如何划分
67 104 97
FileInputStream 是否有类似检查的方法
if(671>256){发送 67 ,下一个追加 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 十进制)
00100100 00110100 00101101(ascii 二进制)
i/p -> 图像像素(rgb) '0,255,100'
00000000 11111111 1100100
i/p -> 音频(32 位,2^32 音调)'1073741822'
111111111111111111111111111110(二进制形式)
00111111 11111111 11111111 11111110(分为字节)[单音]
63 255 255 254
最佳答案
fis.read() 从输入流中读取一个字节的数据并将其表示为 int。假设您的文件有 2 个字节的二进制数据:0100001101101000
第一次调用 fis.read() 将读取 01000011(十进制为 67)
第二次调用 fis.read() 将读取 01101000(十进制为 104)。
这就是为什么你会看到像 67 104 这样的输出......
关于java - 字节流如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59789220/