最初に理由の説明:
さまざまな MP3 リンクへのリンクのリストがあり、これらのファイルの ID3 情報をすばやく読み取ろうとしています。最初の 1500 バイト程度しかダウンロードせず、このチャンク内のデータを分析しようとしています。ID3Lib に出くわしましたが、完全にダウンロードされたファイルでしか動作せず、Streams のサポートに気付きませんでした。(これで間違っていたら遠慮なく指摘してください)
したがって、基本的には、ID3 タグを自分で解析しようとすることになります。タグのサイズは、ファイルの先頭付近の 4 バイトから判断できます。ID3 サイトから:
ID3v2 タグのサイズは 4 バイトでエンコードされ、すべてのバイトで最上位ビット (ビット 7) がゼロに設定され、合計 28 ビットになります。ゼロになったビットは無視されるため、257 バイトの長さのタグは $00 00 02 01 として表されます。
だから基本的に:
00000000 00000000 00000010 00000001
になる
0000 00000000 00000001 00000001
私はビットレベルの操作にあまり慣れていないので、誰かがこれらの 4 バイトのそれぞれの左端のビットを無視するエレガントなソリューションについて洞察を得ることができるかどうか疑問に思っていましたか? そこから基数 10 の整数を取得しようとしているので、それも機能します。