字节流是如何工作的?
How ByteStream works?
原始数据如何划分为字节。
由于当前音频包含 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 ...
的输出
原始数据如何划分为字节。
由于当前音频包含 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 ...
的输出