হেক্সাডেসিমাল বাইট আর ইউনিকোড কোড পয়েন্ট এক নয়
হেক্সাডেসিমাল হলো বাইট দেখানোর একটি সংক্ষিপ্ত উপায়। দুটি হেক্স অঙ্ক একটি বাইট বোঝায়, 00 থেকে FF পর্যন্ত। সাধারণ ইংরেজি অক্ষর UTF-8-এ প্রায়ই একটি বাইট নেয়, ফলে ছোট উদাহরণ দেখে মনে হয় যেন অক্ষর ধরে ধরে বদলানো হচ্ছে। মানুষ আসলে যা লেখে তার বড় অংশেই এই সহজ ধারণা খাটে না। উচ্চারণচিহ্নসহ একটি অক্ষর দুটি বাইট নিতে পারে; একটি ইমোজি চারটি বাইট নিতে পারে বা আরও লম্বা ক্রম তৈরি করতে পারে।
কোড পয়েন্ট U+00E9 অক্ষর é-কে চিহ্নিত করে। এর UTF-8 বাইট হলো C3 A9, E9 নয়। তাই কঠোর UTF-8 ডিকোডারে শুধু E9 বাইটটি দিলে ত্রুটি হয়, যদিও হেক্সটি নিজে বৈধ। কোনো লগ পুরোনো এনকোডিংয়ে তৈরি হলে আউটপুট বিশ্বাসযোগ্য না দেখা পর্যন্ত আন্দাজ না করে উৎস থেকেই সেই এনকোডিং নিশ্চিত করুন।
এই কনভার্টার অক্ষর ডিকোডের আগে হেক্সাডেসিমালের গঠন যাচাই করে। 4869-এর মতো একটানা অংশ নেওয়া হয়। 48 69, 48:69 ও 0x48,0x69-এর মতো পূর্ণ গ্রুপও নেওয়া হয়। কোনো গ্রুপে বিজোড় সংখ্যক অঙ্ক থাকলে বাতিল হয়। ঠিকানার কলাম, প্রোগ্রামিং ভাষার এস্কেপ করা স্ট্রিং এবং পূর্ণ hexdump-এর প্রিন্টযোগ্য পাশের কলাম এই পার্সারের বাইরে; শুধু বাইট ডেটা পেস্ট করুন।
সংখ্যা আর লেখার কাজ আলাদা রাখুন। হেক্স FF পূর্ণসংখ্যা 255 বোঝায়, কিন্তু এটি একা বৈধ UTF-8 লেখার বাইট নয়। সেই মান হিসাব করতে সংখ্যার ভিত্তি কনভার্টার ব্যবহার করুন, আর বাইটগুলো কোনো বার্তা এনকোড করলে এই টুল। সফল লেখা বিদ্যমান ডকুমেন্ট টুলগুলোতে এগিয়ে নেওয়া যায়। ডাউনলোডে NULL অক্ষর থেকে যায়, যদিও ডকুমেন্ট হস্তান্তর সেগুলো নেয় না।