Мне нужно извлечь некоторую информацию из транспортного потока, как PID, ПАТ, PMT и т.д.Извлечение информации из транспортного потока в Java
Я нашел пример кода, чтобы получить PID:
pid = ((buf[1] << 8) | (buf[2] & 0xff)) & 0x1fff;
Но я не мог понять причину получения buf[1]
и сдвига 8 на левую сторону, потому что для получения информации PID мне нужно получить 5 последних бит от buf[1]
и всех 8 от buf[2]
. Я тестировал код, и результат был хорошим. Я просто хочу понять среднее значение этой первой части: buf[1] << 8
в уравнении. Может кто-нибудь мне помочь?
Спасибо @aergistal! Теперь у меня есть идеа. – kileros
Вы знаете какой-либо веб-сайт, который я могу получить больше информации о битмасках? Например, у меня есть дополнительная информация для извлечения каждого из них с разным размером бит, но у меня нет масок для каждого из них. – kileros
. Вы можете увидеть примеры для всех побитовых операций в Википедии: https://en.wikipedia.org/wiki/ Bitwise_operation. '' '' 'OR',' & 'is AND и так далее. – aergistal