DEV Community

SHAHARIFAT
SHAHARIFAT

Posted on

What! What? Yes,What is the difference between ANSI & UNICODE

এএনএসআই এবং ইউনিকোড দুটি অক্ষর এনকোডিং যা এক সময়ে বা অন্য সময়ে ব্যাপকভাবে ব্যবহৃত হয়েছিল। এএনএসআই অনেক পুরানো এবং উইন্ডোজ 95/98 এবং তার বেশি বয়সের অপারেটিং সিস্টেম দ্বারা ব্যবহৃত হয় বলে ইউনিকোড হল একটি নতুন এনকোডিং যা বর্তমান সকল অপারেটিং সিস্টেমের দ্বারা ব্যবহৃত হয়। ANSI- এর অনেক সীমাবদ্ধতা ছিল যা ব্যবহারের প্রাথমিক পর্যায়ে সহজেই স্পষ্ট ছিল না কিন্তু কম্পিউটিং বিশ্বব্যাপী ছড়িয়ে পড়তে শুরু করলে বেদনাদায়কভাবে স্পষ্ট হয়ে ওঠে। ANSI- এর প্রধান অসুবিধা হল অনেক কোড পেজের ব্যবহার, যে ভাষা ব্যবহার করা হচ্ছে তার উপর নির্ভর করে; ইংরেজি (পশ্চিম ইউরোপীয় ল্যাটিন নামে পরিচিত), গ্রিক, তুর্কি, হিব্রু, আরবি এবং আরও অনেকের জন্য রয়েছে। কোন সমস্যা নেই যখন সমস্ত কম্পিউটার যারা ডেটা অ্যাক্সেস করে তারা একই কোড পৃষ্ঠা ব্যবহার করে, কিন্তু যখন বিভিন্ন কোড পৃষ্ঠাগুলি ব্যবহার করা হয়, তখন পড়া ডেটা লিখিত ডেটার মতো হবে না। এর ফলে ডেটা দুর্নীতি হতে পারে এবং নির্দিষ্ট পরিস্থিতিতে প্রোগ্রাম ক্র্যাশও হতে পারে। এএনএসআই কেন মিটমাট করতে পারে না তার কারণ হল এটি প্রতিটি কোড পয়েন্টকে উপস্থাপন করতে মাত্র 8 বিট ব্যবহার করে। এই প্রস্থ স্থির এবং শুধুমাত্র 256 বিভিন্ন সমন্বয় আছে। তুলনায়, ইউনিকোড প্রতিটি কোড পয়েন্টের জন্য সর্বোচ্চ 32 বিট ব্যবহার করে; UTF-32 এর নির্দিষ্ট প্রস্থে ব্যবহৃত হয়। কিন্তু যেহেতু প্রতিটি অক্ষরের জন্য চারটি বাইট ব্যবহার করা স্থানটির এত বড় অপচয়, তাই স্থান বাঁচানোর জন্য UTF-8 এবং UTF-16 এ পরিবর্তনশীল প্রস্থের এনকোডিং নিযুক্ত করা হয়। যেহেতু ইউনিকোড একটি নতুন মান, আশা করা যায় যে পুরানো অপারেটিং সিস্টেমগুলি এটি সমর্থন করতে পারে না। যদিও UTF-8 এবং ANSI এর কোড পয়েন্টগুলি অনেকটা অভিন্ন, উইন্ডোজ 95 এর মতো পুরনো অপারেটিং সিস্টেমগুলি এর সাথে কাজ করতে পারে না। অতএব, ইউনিকোড ব্যবহারকারী প্রোগ্রামগুলি এই অপারেটিং সিস্টেমে সঠিকভাবে চালাতে পারবে না। বিপরীত, অথবা নতুন অপারেটিং সিস্টেমে ANSI কোডেড প্রোগ্রাম চালানোর ক্ষেত্রে, এটি সম্ভব কারণ ANSI এবং ইউনিকোডের মধ্যে রূপান্তর করার প্রক্রিয়া রয়েছে। শুধু মনে রাখবেন যে রূপান্তর ওভারহেড প্রক্রিয়াকরণের একটি বিট যোগ করে। আজকের কম্পিউটারে এটি উল্লেখযোগ্য নাও হতে পারে, তবে প্রোগ্রাম দক্ষতা উন্নত করার জন্য এটি এখনও নোট করা মূল্যবান। সারসংক্ষেপ: 1. ANSI হল একটি অতি পুরনো অক্ষর এনকোডিং এবং ইউনিকোড হল বর্তমানে ব্যবহৃত বর্তমান মান 2. ANSI বিভিন্ন ভাষার জন্য বিভিন্ন পৃষ্ঠা ব্যবহার করে যখন ইউনিকোড না 3. ANSI নির্দিষ্ট প্রস্থ এনকোডিং ব্যবহার করে যখন ইউনিকোড স্থির এবং পরিবর্তনশীল উভয় প্রস্থ ব্যবহার করতে পারে 4. ইউনিকোড প্রোগ্রাম পুরনো সিস্টেমে কাজ করবে না 5. ANSI প্রোগ্রামগুলি বর্তমান কম্পিউটারে ইউনিকোড প্রোগ্রামের তুলনায় ধীর

Top comments (0)