starter trying to figure out a binary pattern match

Magnus Leone magnus.falk@REDACTED
Thu Oct 21 11:00:46 CEST 2021


I made a cheat sheet for binaries that you may find useful:
https://cheatography.com/fylke/cheat-sheets/erlang-binaries/

Improvement suggestions welcome!

Regards,
Magnus

On Thu, Oct 21, 2021 at 9:21 AM Nalin Ranjan <ranjanified@REDACTED> wrote:

> If you prefer chatting, there is a link to get a slack
> <https://erlef.org/slack-invite/erlanger> invitation under the community
> <https://www.erlang.org/community> section of erlang.org.
>
> Thanks and Regards
> Nalin Ranjan
>
> On Thu, Oct 21, 2021 at 9:37 AM Felipe Vieira <fmv1992@REDACTED> wrote:
>
>> Hey folks, I have just started learning Erlang and I'm loving it.
>>
>> I'm going through Armstrong's "Programming Erlang" and I'm trying to
>> build on "Reading MP3 Metadata".
>>
>> He patter matches with:
>>
>> ```
>> parse_v1_tag(<<$T,$A,$G, Title:30/binary, Artist:30/binary, ⋯
>> ```
>>
>> I tried the following (and variations):
>>
>> 1.
>>
>> ```
>> -define(ID3V2_HEADER, "TAG").
>>>> is_id3v2(<<?ID3V2_HEADER, Tag:(128 - byte_size(?ID3V2_HEADER))/binary>>)
>> ->
>> ```
>>
>> 2.
>>
>> ```
>> -define(ID3V2_HEADER, <<"TAG":3/binary>>).
>>>> is_id3v2(<<?ID3V2_HEADER, Tag:(128 - byte_size(?ID3V2_HEADER))/binary>>)
>> ->
>> ```
>>
>> And I'm trying to achieve a match like this (which also does not work,
>> but states more clearly my intentions):
>>
>> ```
>> <<"TAG">> ++ <<X>> = <<84,65,71,73,86,46,32,87,46>>.
>> ```
>>
>> Is there a way to achieve this together with the `128 -
>> byte_size(?ID3V2_HEADER))/binary>>` calculation?
>>
>> Best,
>>
>> PS: is there a more informal/chat-like place to ask these kinds of
>> questions?
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20211021/2e8ec0d8/attachment.htm>


More information about the erlang-questions mailing list