Как можно считать размер тегов из ID3v2 заголовка с помощью Java?
Вкратце:
Размер хранится в 4 байтах[6,7,8,9 байты от начала]. Из 8 бит используется 7, первый бит всегда 0. Пример из статьи на хабре
Убираем пустые байты, затем убираем нули из 3го байта и первый ноль из последнего остаётся [][][111][1110110]. Теперь объединяем получившееся и получаем искомое число. Только, как это сделать в коде?
Может кому пригодится:
Ссылка на статью на хабре: Внутри MP3. А как оно всё устроено?
Ссылка на описание структуры ID3: Структура ID3 с офф сайта
В общем как то так получилось. Не уверен на счёт маски... Надеюсь на комментарий более разбирающегося в вопросе.
/**
* Считывает значение int из 4 байт, отбрасывая 0 бит из каждого байта
* @param fourByte 4 байта числа
* @return Число
*/
private int bytesToSynchsafeInt(byte[] fourByte){
return (((fourByte[0] & 0xff) << 21) | (((fourByte[1] & 0xff) << 14) |
(((fourByte[2] & 0xff) << 7) | ((fourByte[3] & 0xff)))));
}
P.S.
Кстати, к размеру ещё надо добавить 10 байт заголовка
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я хочу при вызове конструктора задать размер массива, находящегося в теле классаДля этого я пытаюсь использовать указатель p, который бы забирал...
Появилось желание обернуть в RAII классы ряд объектов из WinAPI (хендлы, сертификаты и тд
У меня будет простое банковское приложениеИ я решил сделать такой интерфейс:
Есть класс, назовём его FirstclassВ нём, в приватном поле определён структурный тип следующего вида: