ইউটিএফ-৮

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে

ইউটিএফ-৮ হল একটি অনির্দিষ্ট-প্রস্থের বর্ণ সংকেতায়ন বা ক্যারেক্টার এনকোডিং ব্যবস্থা যা ইলেকট্রনিক যোগাযোগের জন্য ব্যবহৃত হয়। ইউটিএফ-৮ শব্দটি ইউনিকোড ট্রান্সফরমেশন ফরমেট – এইট - বিট (ইং:Unicode Transformation Format – 8-bit) থেকে নেওয়া হয়েছে যা ইউনিভার্সাল কোডেড ক্যারাক্টার সেট তথা ইউনিকোড কর্তৃক সংজ্ঞায়িত।[১]

ইউটিএফ-৮ এক থেকে চারটি এক-বাইটের (৮-বিটের) কোড ইউনিট ব্যবহারের করে ইউনিকোডের ১১,১২,০৬৪ টি [nb ১] বৈধ অক্ষর কোড পয়েন্টের সবগুলোকে সংকেত করতে সক্ষম। কম সাংখ্যিক মানের কোড পয়েন্টগুলো, যেগুলোর বেশি ঘন ঘন ব্যবহার হয়, সেগুলো কম বাইট ব্যবহার করে সংকেত করা হয়। এটি অ্যাস্‌কি-এর সাথে উপযোগী হওয়ার জন্য ডিজাইন করা হয়েছিল: ইউনিকোডের প্রথম ১২৮টি অক্ষর, যা অ্যাস্‌কি- এর সাথে এক-এক-এর অনুরূপ, অ্যাস্‌কি- এর মতো একই বাইনারি মান সহ একটি একক বাইট ব্যবহার করে সংকেত করা হয়, তাই বৈধ অ্যাস্‌কি পাঠ্য বৈধ ইউটিএফ-৮ -এ সঙ্কেতায়িত ইউনিকোডও বটে। যেহেতু অ্যাস্‌কি বাইটগুলি ইউটিএফ-৮ এ অ্যাস্‌কি নয়-এমন কোড পয়েন্ট সংকেত করার সময় আসে না, তাই ইউটিএফ-৮ বেশিরভাগ প্রোগ্রামিং এবং নথির ভাষার মধ্যে ব্যবহার করা নিরাপদ যা নির্দিষ্ট ইউটিএফ-৮ অক্ষরকে একটি বিশেষ উপায়ে ব্যবহার করে, যেমন ফাইলের নামগুলিতে / (স্ল্যাশ), \ ( ব্যাকস্ল্যাশ ) বিশেষ অক্ষর এ, এবং % printf, এর মধ্যে।

ইউটিএফ-৮ এখন পর্যন্ত ওয়ার্ল্ড ওয়াইড ওয়েবের জন্য সাধারণতম সংকেতায়ন ব্যবস্থা, যা সমস্ত ওয়েব পেজের ৯৮% এর বেশি এবং ২০২১ সাল পর্যন্ত কিছু ভাষার জন্য ১০০% পর্যন্ত ব্যবহৃত হয়েছে। [২]

সংকেতায়ন[সম্পাদনা]

কোড পয়েন্ট <-> ইউটিএফ-৮ রূপান্তর
প্রথম কোড পয়েন্ট শেষ কোড পয়েন্ট বাইট ১ বাইট ২ বাইট ৩ বাইট ৪
U+০০০০ U+০০৭F ০xxxxxxx
U+০০৮০ U+০৭FF ১১০xxxxx ১০xxxxxx
U+০৮০০ U+FFFF ১১১০xxxx ১০xxxxxx ১০xxxxxx
U+১০০০০ [nb ২] U+১০FFFF ১১১১০xxx ১০xxxxxx ১০xxxxxx ১০xxxxxx

প্রথম ১২৮টি অক্ষর (US-ASCII) সংকেত করতে প্রয়োজন এক বাইট। পরবর্তী ১,৯২০টি অক্ষর সংকেতে দুই বাইটের প্রয়োজন হয়, প্রায় সমস্ত ল্যাটিন-স্ক্রিপ্ট বর্ণমালার অবশিষ্ট অংশ এবং আইপিএ এক্সটেনশন, গ্রীক, সিরিলিক, কপটিক, আর্মেনিয়ান, হিব্রু, আরবি, সিরিয়াক, থানা , এনকো বর্ণমালা এবংডায়াক্রিটিক্যাল মার্কসের সমন্বয়ও এর অন্তর্ভুক্ত। বাকি মুল-ধারার বহুভাষিক গোষ্ঠীর অক্ষরগুলোর জন্য তিন বাইটের প্রয়োজন হয়, যা সাধারণ ব্যবহারের কার্যত সমস্ত অক্ষর ধারণ করে, [৩] বেশিরভাগ চীনা, জাপানি এবং কোরিয়ান অক্ষর সহ । ইউনিকোডের অন্যান্য গোষ্ঠীর অক্ষরের জন্য চারটি বাইট প্রয়োজন, যার মধ্যে কম ব্যবহৃত সিজেকে অক্ষর, বিভিন্ন ঐতিহাসিক স্ক্রিপ্ট, গাণিতিক প্রতীক এবং ইমোজি (চিত্রগ্রাহী প্রতীক) রয়েছে।

একটি "অক্ষর" প্রকৃতপক্ষে ৪ বাইটের বেশি জায়গা নিতে পারে, যেমন একটি ইমোজি পতাকা অক্ষর ৮ বাইট জায়গা নেয় কারণ এটি "ইউনিকোড স্কেলার মানগুলির জোড়া থেকে নির্মিত"। [৪]

ব্যবহার[সম্পাদনা]

ইউটিএফ-৮ হল এইচটিএমএল এবং ডিওএম ধরনের জন্য'ডব্লিউএইচএটিডব্লিউজি'র দ্বারা সুপারিশকৃত [৫] এবং ইন্টারনেট মেইল কনসোর্টিয়াম সুপারিশ করে যে সমস্ত ই-মেইল প্রোগ্রাম ইউটিএফ-৮ ব্যবহার করে মেইল প্রদর্শন এবং তৈরি করতে পারা উচিত। [৬] [৭] ওয়ার্ল্ড ওয়াইড ওয়েব কনসোর্টিয়াম ইউটিএফ-৮ কে এক্সএমএল এবং এইচটিএমএল -এ প্রাথমিক সংকেত ব্যবস্থা হিসাবে সুপারিশ করে (এবং শুধু ইউটিএফ-8 ব্যবহার না করে, এটি মেটাডেটাতেও উল্লেখ করে, "এমনকি যখন সমস্ত অক্ষর অ্যাস্‌কি সীমানাতে থাকে, ইউটিএফ-৮ নয় এমন সংকেতায়ন ব্যবহার করলে অপ্রত্যাশিত ফলাফল হতে পারে "। অন্যান্য অনেক স্ট্যান্ডার্ড শুধুমাত্র ইউটিএফ-৮ সমর্থন করে, যেমন JSON এক্সচেঞ্জ খুলতে। [৮]

তথ্যসূত্র[সম্পাদনা]

  1. "Chapter 2. General Structure"The Unicode Standard (6.0 সংস্করণ)। The Unicode Consortiumআইএসবিএন 978-1-936213-01-6 
  2. "Usage Survey of Character Encodings broken down by Ranking"w3techs.com (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২১-০৬-৩০ 
  3. "The Unicode Standard, Version 6.1"। Unicode Consortium। ২০১২। 
  4. "Apple Developer Documentation"developer.apple.com। সংগ্রহের তারিখ ২০২১-০৩-১৫ 
  5. "Encoding Standard"encoding.spec.whatwg.org। সংগ্রহের তারিখ ২০২০-০৪-১৫ 
  6. "Using International Characters in Internet Mail"। Internet Mail Consortium। ১৯৯৮-০৮-০১। ২০০৭-১০-২৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০০৭-১১-০৮ 
  7. "Encoding Standard"encoding.spec.whatwg.org (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০১৮-১১-১৫ 
  8. "The JavaScript Object Notation (JSON) Data Interchange Format"। IETF। ডিসেম্বর ২০১৭। সংগ্রহের তারিখ ১৬ ফেব্রুয়ারি ২০১৮ 


উদ্ধৃতি ত্রুটি: "nb" নামক গ্রুপের জন্য <ref> ট্যাগ রয়েছে, কিন্তু এর জন্য কোন সঙ্গতিপূর্ণ <references group="nb"/> ট্যাগ পাওয়া যায়নি