DevToys Web Pro iconDevToys Web Proব্লগ
আমাদের রেট দিন:
ব্রাউজার এক্সটেনশন ব্যবহার করে দেখুন:

এন্ডিয়াননেস অদলবদল করুন

8 bytes (2 words)
ওয়ার্ড সাইজ

ইনপুট (হেক্স)

  • সোয়াপড আউটপুট

  • প্রযুক্তিগত বিবরণ

    Swap Endianness টুল কীভাবে কাজ করে

    টুলটি কী করে

    Swap Endianness টুলটি কনফিগারযোগ্য word size (2, 4, বা 8 বাইট) অনুযায়ী একটি হেক্সাডেসিমাল ইনপুটের byte order উল্টে দেয়। এটি হেক্স হিসেবে সংরক্ষিত fixed-width integer-এর little-endian এবং big-endian উপস্থাপনার মধ্যে রূপান্তরের জন্য তৈরি, যা বাইনারি ফাইল ফরম্যাট, নেটওয়ার্ক প্রোটোকল, বা byte order নিয়ে মতবিরোধ থাকা low-level debugging টুলের সাথে কাজ করার সময় প্রায়ই দরকার হয়।

    ডেভেলপারদের সাধারণ ব্যবহারক্ষেত্র

    রিভার্স ইঞ্জিনিয়াররা x86 বা ARM (little-endian) এবং PowerPC বা MIPS (ঐতিহাসিকভাবে big-endian) থেকে পাওয়া hex dump স্বাভাবিকীকরণ করেন যাতে আর্কিটেকচার জুড়ে মান তুলনা করা যায়। নেটওয়ার্ক ইঞ্জিনিয়াররা packet capture-এ এম্বেড করার আগে host-byte-order integer-কে network byte order-এ (সবসময় big-endian) রূপান্তর করেন। এমবেডেড ডেভেলপাররা ফ্ল্যাশে সংরক্ষিত স্ট্রাকচার ডিবাগ করেন, বিশ্লেষণ টুলিং যে ফরম্যাট আশা করে সেই অনুযায়ী বাইটগুলো পুনরায় সাজিয়ে।

    ডেটা ফরম্যাট, টাইপ বা ভ্যারিয়েন্ট

    ইনপুট `0x` প্রিফিক্সসহ বা ছাড়া হেক্স এবং যেকোনো whitespace গ্রহণ করে। স্পষ্টতার জন্য আউটপুট space-separated lowercase hex bytes হিসেবে রেন্ডার করা হয়। 2, 4, এবং 8 বাইটের word size যথাক্রমে 16-, 32-, এবং 64-bit integer-এর সাথে মিলে। একাধিক word স্বাধীনভাবে swap হয়: 4-বাইট word size-এ, 12345678 9ABCDEF0 হয়ে যায় 78 56 34 12, এরপর F0 DE BC 9A।

    সাধারণ ভুল ও এজ কেস

    ইনপুটে অবশ্যই পূর্ণ সংখ্যক বাইট (হেক্স ডিজিটের জোড় সংখ্যা) এবং পূর্ণ সংখ্যক word (বাইটে কনফিগার করা word size দ্বারা বিভাজ্য) থাকতে হবে। আকার না মিললে নীরবে truncate না করে একটি ত্রুটি ফেরত দেয়। Network byte order সবসময় big-endian, আর x86 / ARM little-endian ব্যবহার করে — wire-format integer পড়া বা লেখার সময় বাইটগুলো swap করুন।

    কোডের বদলে কখন এই টুল ব্যবহার করবেন

    বাইনারি dump পড়া বা ডিবাগ করার সময় একবারের কনভার্সনের জন্য ব্রাউজার টুলটি ব্যবহার করুন। কোডে, JavaScript-এ স্পষ্ট `littleEndian` ফ্ল্যাগসহ `DataView`, Python-এর `int.from_bytes`-এ `byteorder='little'|'big'`, Go-তে `binary.LittleEndian.Uint32`, বা C-তে `ntohl` / `htonl` ব্যবহার করুন — এগুলো উদ্দেশ্য আরও পরিষ্কার করে এবং হেক্স round-trip এড়ায়।