位元字串讓程式設計師能有效率地處理二進位資料。
你可以使用<<>> 特殊形式優雅地建構位元字串。
<<0b101::3>> == <<5::3>> and <<5::3>> == <<5::size(3)>>
# => true
first = <<0b110::3>>
second = <<0b001::3>>
combined = <<first::bitstring, second::bitstring>>
# => <<49::size(6)>>
你可以使用<<>>形式進行匹配,並用這個匹配進一步拆解二進位資料。
<<data_size::32, count::size(data_size)>> = <<8::32, 3::8>>
# => <<0, 0, 0, 8, 3>>
data_size
# => 8
count
# => 3
你可以使用::bitstring匹配位元字串剩下的部分。
<<_::32, remainder::bitstring>> = <<8::32, 3::8>>
# => <<0, 0, 0, 8, 3>>
remainder
# => <<3>>
二進位資料型別是一種特定的位元字串,它的位元數可以被 8 整除。
Elixir 提供語法糖,讓你用不同形式處理整數字面值:
0b1000001 = ?A = 65