Всем привет. есть такой вопрос... чем будут отличатся данные попавшие в переменную в этих двух случаях: допустим вычитываем из файла 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 (2012)
- Форум Erlang (2015)