বা

বাইনারি মধ্যে Elixir

7টি অনুশীলনী

বাইনারি সম্পর্কে

  • বাইনারি টাইপ হলো বিটস্ট্রিং টাইপের একটি বিশেষায়িত রূপ।
  • বাইনারি তৈরি হয় বাইট দিয়ে।
    • একটি বাইট হলো ৮টি বিট।
    • বাইট 0 থেকে 255 পর্যন্ত সংখ্যা প্রকাশ করতে পারে
    • বাইট নিয়ে কাজ করার সময় হেক্সাডেসিমেল ইন্টিজার মান সাধারণ: 0x00 থেকে 0xFF.
  • বাইনারি লিটারেল লেখা হয় <<>> স্পেশাল ফর্ম ব্যবহার করে।
  • <>/2 দিয়ে বিটস্ট্রিং/বাইনারি/স্ট্রিং কনক্যাটিনেট করা যায়।
<<255>> == <<0xFF>>
# Overflowing bits are truncated
<<256>> == <<0>>
<<256::size(16)>> == <<1, 0>>

<<"Hello">> == <<72, 101, 108, 108, 111>>

নাল-বাইট হলো <<0>>-এর অপর একটি নাম।

স্ট্রিং হলো এনকোড করা বাইনারি ডেটা

  • স্ট্রিং হলো UTF-8 ফরম্যাটে এনকোড করা বাইনারি ডেটা।
    • এগুলো ৮-বিট (এক বাইট) খণ্ডে এনকোড করা হয়, আর ২৫৫-এর বেশি ক্যারেক্টার প্রকাশ করতে সর্বোচ্চ ৪টি বাইট ব্যবহার করে।
    • একটি স্ট্রিংয়ের দৈর্ঘ্য আর তার বাইট সাইজ এক নাও হতে পারে।
# This string has a string length of 5, but is made up of 7 bytes
string = "cześć"
String.length(string) != byte_size(string)

# Even emoji strings are encoded binaries
"👍" == <<240, 159, 145, 141>>

বাইনারি ডেটায় প্যাটার্ন ম্যাচিং

# Ignore the first 8 bytes, bind the remaining variable sized binary to `body`
<<_::binary-size(8), body::binary>>

স্ট্রিংয়ের ক্ষেত্রেও এটি করা যায়:

# bind the first 5 bytes to `name`,
# match the string literal " the ",
# bind remaining bytes to `species`
<<name::binary-size(5), " the ", species::binary>> = <<"Frank the Walrus">>
{name, species}
# => {"Frank", "Walrus"}
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

বাইনারি শিখুন

অনুশীলন লক করা আছে

বাইনারি অনুশীলন করতে আরও ১টি অনুশীলনী আনলক করুন