একটি ইউটিএফ -8 বাইট অনুক্রমের প্রথম বাইট দেওয়া দৈর্ঘ্য নির্ধারণ করুন। নিম্নলিখিত টেবিলটি দেখায় যে প্রতিটি সম্ভাব্য দৈর্ঘ্যের মানচিত্রটি রয়েছে:
Range Length
--------- ------
0x00-0x7F 1
0xC2-0xDF 2
0xE0-0xEF 3
0xF0-0xF4 4
টেবিলের ফাঁকগুলির নোট: 0x80-0xBF ধারাবাহিকতা বাইট, 0xC0-0xC1 একটি দীর্ঘতর, অবৈধ ক্রম শুরু করবে, 0xF5-0xFF এর ফলে ইউনিকোড সর্বাধিক ছাড়িয়ে একটি কোডপয়েন্ট হবে।
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কোনও ইউটিএফ -8 বাইট সিকোয়েন্সের প্রথম বাইটটি ইনপুট এবং আউটপুট হিসাবে গ্রহণ করে বা ক্রমের দৈর্ঘ্য দেয়। I / O নমনীয়। উদাহরণস্বরূপ, ইনপুটটি কোনও সংখ্যা, একটি 8-বিট অক্ষর বা একটি-অক্ষরযুক্ত স্ট্রিং হতে পারে। আপনি ধরে নিতে পারেন যে প্রথম বাইটটি একটি বৈধ ক্রমের অংশ এবং উপরের রেঞ্জের একটিতে পড়ে।
এটি কোড গল্ফ। বাইটস মধ্যে সংক্ষিপ্ত উত্তর।
পরীক্ষার মামলা
0x00 => 1
0x41 => 1
0x7F => 1
0xC2 => 2
0xDF => 2
0xE0 => 3
0xEF => 3
0xF0 => 4
0xF4 => 4