Всем привет.
есть такой вопрос... чем будут отличатся данные
попавшие в переменную в этих двух случаях:
допустим вычитываем из файла 8 байт данных:
{ok, File} = file:open ("file.bin", [read, raw, binary]).
{ok, Data} = file:read (File, 8).
потом я хочу "отрезать" 4 байта в одну переменную, и 4 в другую:
<<Data_1:4/binary, Data_2:4/binary>> = Data.
и второй вариант
<<Data_1:32/integer, Data_2:32/integer>> = Data.
чем отличаются кординально эти два варианта?
я бы и не стал спрашивать... просто маленький
примерчик разбора mp3 заголовка работает в первом случае, и не
работает во втором :(
ошибка, которую пишет во втором случае:
** exception error: no match of right hand side value
{<<73,68,51,3,0,0,0,0,9,109,84,73,84,50,0,0,0,8,0,0,0,78,
97,114,97,121,97,110,...>>,
<<"a\245\247">>}
строчка вообще такая
{_, <<D:4/binary, _/binary>>} = split_binary (Data, N),
а если делать так
{_, <<D:32, _>>} = split_binary (Data, N),
то нишиша не работает :(
Думается мне, что тут какое-то фундаментальное непонимание с моей стороны.
Знающие люди, подскажите, а? :)
Зарание всем спасибо!
Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от Cy6erBr4in
Ответ на:
комментарий
от Cy6erBr4in
Ответ на:
комментарий
от anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум тред непонимания (2012)
- Форум Непонимание наследования (2012)
- Форум Erlang (2015)
- Форум Erlang (2015)
- Форум Erlang (2012)