যে বিষয়টি আমাকে দীর্ঘদিন ধরে বিভ্রান্ত করেছে, তা হ'ল এত বেশি সফটওয়্যার প্রতিশব্দ হিসাবে "চরসেট" এবং "এনকোডিং" শব্দটি ব্যবহার করে।
লোকেরা যখন কোনও ইউনিকোড "এনকোডিং" উল্লেখ করে, তারা সর্বদা ইউনিকোড অক্ষরকে বাইটের ক্রম হিসাবে উপস্থাপনের জন্য একটি নিয়ম হিসাবে বোঝায় - যেমন ASCII, বা UTF-8। এটি যুক্তিসঙ্গত এবং স্বজ্ঞাত বলে মনে হচ্ছে; ধারণাটি হ'ল আপনি নির্দিষ্ট রোলসেটটি ব্যবহার করে এই অক্ষরগুলিকে বাইট হিসাবে "এনকোডিং" করছেন।
যেহেতু এই নিয়মগুলি কখনও কখনও সমস্ত ইউনিকোড চরিত্রের কিছু উপসেট "এনকোড" করার ক্ষমতা সরবরাহ করে, আপনি কল্পনা করতে পারেন যে "অক্ষরগুলির সেট" এর জন্য সংক্ষিপ্ত একটি "চারসেট" - এর অর্থ ইউনিকোড অক্ষরের একটি সেট - কীভাবে কোনও বিবেচনা ছাড়াই how এই অক্ষরগুলি এনকোড করা আছে। একটি এনকোডিং এর ফলে চারসেট বোঝায় (ASCII এর মতো একটি এনকোডিং, যার মধ্যে কেবল 128 টি অক্ষর এনকোডিংয়ের নিয়ম রয়েছে, সেই 128 টি অক্ষরের অক্ষর যুক্ত হবে) তবে একটি অক্ষরকে এনকোডিং বোঝানো দরকার না (উদাহরণস্বরূপ, ইউটিএফ -8, ইউটিএফ) -16 এবং ইউটিএফ -32 সমস্ত পৃথক এনকোডিং তবে একই অক্ষরের সেটটি এনকোড করতে পারে)।
তবুও - এবং এখানে আমার প্রশ্নের সূত্রপাত - "চরসেট" শব্দের বাস্তব-বিশ্বের ব্যবহারের সাথে শব্দটির নির্মাণটি কী বোঝায় তা মেলে না। এটি প্রায়শই "এনকোডিং" অর্থ ব্যবহৃত হয়।
উদাহরণ স্বরূপ:
charsetHTML এ অ্যাট্রিবিউট এনকোডিং উল্লেখ করতে ব্যবহৃত হয়Charsetজাভা এ এনকোডিং হয়charsetএস এবংcharacter setsমাইএসকিউএলে আবার একবার এনকোডিং রয়েছে
ভাষার এই কৌতূহলী (অব) ব্যবহার কত বছরের পুরনো, এবং 'চরসেট' এর এই পাল্টা-স্বজ্ঞাত সংজ্ঞাটি কীভাবে বিদ্যমান? এটা সম্ভবত একটি সময় থেকে উদ্ভূত না যখন সত্যিই ছিল , বাস্তবে, ব্যবহারে এনকোডিং এবং অক্ষর সেট মধ্যে একটি একের সাথে এক ম্যাপিং তারা সমর্থিত? বা শব্দের এই সংজ্ঞাটি নির্দিষ্ট করে এমন কিছু প্রভাবশালী মান বা স্পেসিফিকেশন ছিল?
charsetইউনিকোড স্ট্যান্ডার্ডের ব্যবহারের পূর্বাভাস, সুতরাং এটি "ওয়ান-টু ওয়ান ম্যাপিং" নাও হতে পারে, তবে কোনও নথির জন্য প্রয়োজনীয় অক্ষরগুলি এনকোডিংয়ের পছন্দকে বাধ্য করেছিল। তবে শব্দের আসল ইতিহাস নিয়ে আমার গবেষণার জন্য সময় নেই ...