先解释一下原因:
我有一个指向各种 MP3 链接的链接列表,我正在尝试快速读取这些文件的 ID3 信息。我只下载了前 1500 个字节左右,并试图分析这个块中的数据。我遇到了 ID3Lib,但我只能让它在完全下载的文件上工作,并且没有注意到对 Streams 的任何支持。(如果我在这方面错了,请随时指出)
所以基本上,我只能自己解析 ID3 标签。标签的大小可以从文件开头附近的四个字节确定。从 ID3 网站:
ID3v2 标签大小用四个字节编码,其中最高有效位(第 7 位)在每个字节中设置为零,总共 28 位。零位被忽略,因此 257 字节长的标签表示为 $00 00 02 01。
所以基本上:
00000000 00000000 00000010 00000001
变成
0000 00000000 00000001 00000001
我对位级操作不太熟悉,想知道是否有人可以对忽略这四个字节中每个字节的最左边位的优雅解决方案有所了解?我正在尝试从中提取一个以 10 为底的整数,这样也可以。