|
#1
|
|||
|
|||
Вопросы по id3v2
Скачал тут модуль из темы http://www.delphisources.ru/forum/showthread.php?t=6621, но не понимаю некоторых вещей.
1. В спецификации на http://id3.org/id3v2.4.0-structure сказано: Цитата:
Т.е. только 7 бит рабочие из восьми. Но в коде библиотеки, указанной выше, приведён код: Код:
function Swap32(const Figure: Integer): Integer; var ByteArray: array [1..4] of Byte absolute Figure; begin { Swap 4 bytes } Result := ByteArray[1] * $1000000 + ByteArray[2] * $10000 + ByteArray[3] * $100 + ByteArray[4]; end; Который как раз работает с Frame.Size. Но он же из каждого байта берёт все 8 бит! Где ошибка? 2. Не совсем понятно по функции GetANSI в той библиотеке: она переводит только ISO-8859-1 и UTF-16 with BOM. И вот во втором случае никакой BOM почему-то не считывается, а автоматически считается, что это UTF-16LE. Хотя на http://id3.org/id3v2.4.0-structure чётко прописано, что при байте кодировки $01 должен быть BOM. Насколько можно доверять http://id3.org/id3v2.4.0-structure и этой библиотеке? |