저는 최근에 ID3v2.4.0에서 작업하고 있습니다. 2.4.0 문서를 읽고, 이해할 수없는 특정 부분, 즉 sync-safe 정수를 발견했습니다. ID3v2가이 방법을 사용하는 이유는 무엇입니까?왜 동기화 안전 정수입니까?
물론 ID3v2가 ID3 태그를 MPEG 동기화 데이터로 간주하지 않도록 MPEG 디코더를 유지하는 데 사용되는 비동기 방식을 사용하는 이유는 알고 있습니다. 하지만 내가 이해할 수없는 이유는 동기화 방지 대신에 동기화 가능 정수 ($ 00 삽입) 때문입니다.
$ 00을 삽입하는 대신 태그 크기를 표현할 때 sync-safe 정수를 채택하는 이유가 있습니까? 이 두 가지 방법으로 완전히 동일한 효과가 나타납니다.
ID3v2 문서는 동기화되지 않은 데이터의 크기가 미리 알려지지 않았다고 말합니다. 하지만이 문장은 의미가 없습니다. 태그 데이터가 버퍼에 저장되면 문제가있는 문자를 $ FF 00으로 대체 한 후 비동기 데이터의 크기를 알 수 있습니다.
나를 도울 사람이 있습니까?