0

我想实现一个类来阅读 vorbis 评论。我知道一个字段将以字段名称开头,后跟等号。但它是如何结束的?文档让我认为分号将结束该字段,但我使用十六进制编辑器检查了一个 ogg 文件,但我看不到任何文件。

这就是我认为它在文件中的样子:

TITLE=MY SUPER TITLE; 

字段名称title,后跟等号,然后值为MY SUPER TITLE。最后用分号结束该字段。

但是在我的文件中,字段看起来像这样:

TITLE=MY SUPER TITLE....

几乎如上,但没有分号。.'s 是不能显示的字符。我想好吧,似乎这些点代表一个值,会说“这是该领域的尽头!! ”但它们几乎总是不同的。我注意到总是正好有 4 个点。第一个点始终具有不同的值。其他免费的通常值为 0。但并非总是...

我现在的问题是,一个字段如何结束?我如何阅读此评论?

另外,是的,我知道有图书馆,我应该使用它们而不是一遍又一遍地重新发明轮子。稍后我将使用库,但首先我想知道如何自己做。仅用于教育目的。

4

1 回答 1

2

Each field is preceded by a little-endian 32-bit integer that indicates the number of bytes to read. You then convert the bytes to a string via UTF8.

See NVorbis' implementation (LoadComments(...)) for details.

于 2014-07-25T13:46:03.217 回答