ইউনিকোড, ইউনিকোড বিগ এন্ডিয়ান বা ইউটিএফ -8? পার্থক্য কি? কোন ফর্ম্যাট ভাল?


19

আমি যখন নোটপ্যাডে অ-ইংরেজি পাঠ্য সহ কোনও পাঠ্য ফাইলটি সংরক্ষণ করার চেষ্টা করি, তখন আমি ইউনিকোড , ইউনিকোড বিগ এন্ডিয়ান এবং ইউটিএফ -8 এর মধ্যে চয়ন করার বিকল্প পাই । এই ফর্ম্যাটগুলির মধ্যে পার্থক্য কী?

ধরে নিচ্ছি যে আমি কোনও পশ্চাদপদ সামঞ্জস্যতা চাই না (পুরানো ওএস সংস্করণ বা অ্যাপ্লিকেশন সহ) এবং আমি ফাইলের আকারের বিষয়ে চিন্তা করি না , এই ফর্ম্যাটগুলির মধ্যে কোনটি ভাল?

(অনুমান করুন যে পাঠ্যটি অন্যান্য ভাষার পাশাপাশি চীনা বা জাপানি ভাষায়ও হতে পারে))

দ্রষ্টব্য: নীচের উত্তর এবং মন্তব্যগুলি থেকে মনে হচ্ছে নোটপ্যাড লিঙ্গোতে ইউনিকোডটি ইউটিএফ -16 (লিটল এন্ডিয়ান), ইউনিকোড বিগ এন্ডিয়ান ইউটিএফ -16 (বিগ এন্ডিয়ান) এবং ইউটিএফ -8 ভাল ইউটিএফ -8 is


উত্তর:


19

জানিনা। কোনটি ভাল: একটি করাত বা হাতুড়ি? :-)

ইউনিকোড ইউটিএফ নয়

নিবন্ধে একটি বিষয় রয়েছে যা হাতে থাকা বিষয়ের সাথে কিছুটা প্রাসঙ্গিক যদিও:

  • ইউটিএফ -8 এএসসিআইআই সেট থেকে অক্ষরের প্রতিনিধিত্বের জন্য বাইট আকার হ্রাস করার উপর দৃষ্টি নিবদ্ধ করে (পরিবর্তনশীল দৈর্ঘ্যের প্রতিনিধিত্ব: প্রতিটি অক্ষর 1 থেকে 4 বাইটে উপস্থাপিত হয় এবং এএসসিআইআই অক্ষরগুলি 1 বাইটের সাথে মানিয়ে যায়)। জোয়েল যেমন রাখে:

তারা বলেছিল, "এই সমস্ত শূন্যগুলি দেখুন!" যেহেতু তারা আমেরিকান এবং তারা ইংরেজী পাঠ্যের দিকে চেয়েছিল যা ইউ +00 এফএফের উপরে কোড পয়েন্ট খুব কমই ব্যবহার করেছিল। এছাড়াও তারা ছিল ক্যালিফোর্নিয়ার উদার হিপ্পি যারা সংরক্ষণ করতে চায় (স্নিকার)। যদি তারা টেক্সান হয় তবে তারা বাইটের সংখ্যার দ্বিগুণ গজলটি মনে করবে না। তবে এই ক্যালিফোর্নিয়ার উইম্পস স্ট্রিংগুলির জন্য যে পরিমাণ স্টোরেজ নিয়েছে তার দ্বিগুণ করার ধারণাটি সহ্য করতে পারেনি

  • ইউটিএফ -32 সমস্ত অক্ষরের জন্য 4 বাইট ব্যবহার করে ক্লান্তিকরতা এবং স্থির দৈর্ঘ্যের উপস্থাপনার উপর দৃষ্টি নিবদ্ধ করে। এটি সর্বাধিক সরল অনুবাদ, ইউনিকোড কোড-পয়েন্টকে 4 বাইটে সরাসরি ম্যাপিং। স্পষ্টতই, এটি খুব আকার-দক্ষ নয়।

  • ইউটিএফ -16 হ'ল একটি আপস, বেশিরভাগ সময় 2 বাইট ব্যবহার করে, তবে নির্দিষ্ট অক্ষরগুলির প্রতিনিধিত্ব করতে অক্ষর প্রতি 2 * 2 বাইটে প্রসারিত হয়, যারা বেসিক বহুভাষিক প্লেন (বিএমপি) এর অন্তর্ভুক্ত নয়।

এছাড়াও সর্বনিম্ন ন্যূনতম প্রতিটি সফ্টওয়্যার বিকাশকারী দেখুন, ইউনিকোড এবং চরিত্রের সেট সম্পর্কে ইতিবাচকভাবে অবশ্যই জানতে হবে (কোনও বাহানা নেই!)


4
সমস্যাটি এ থেকে আসে যে ইউনিকোড একটি 'এনকোডিং', তবে সংখ্যা-বাইটস অর্থে নয়। ইউটিএফ -8 / 16/32 সমস্ত ইউনিকোড এনকোডিং, তবে ইউনিকোড নিজেই প্রতীক থেকে সংখ্যায় একটি ম্যাপিং। আমার মনে হয় এই বিভ্রান্তি এড়াতে তারা আরও অনন্য পরিভাষা ব্যবহার করতে পারত।
jerryjvl

4
তথাপি, প্রশ্নটির ওপিতে, মতবিরোধগুলি হ'ল অ্যাপ্লিকেশনটির অর্থ 'ইউটিএফ -16' যেখানে এটি 'ইউনিকোড' বলে।
jerryjvl

3
আমি নিশ্চিত নই যে ইউটিএফ -8 এর লক্ষ্য "সংরক্ষণ" হ'ল ASCII এর সাথে পিছনের দিকে সামঞ্জস্যের বিরোধিতা।
মিঃ শাইনি এবং নিউ 安

@ জোহানেস: ইউনিকোড কনসোর্টিয়াম সিদ্ধান্ত নিয়েছে যে ইউ + 10 এফএফএফএফের উপরে কোড পয়েন্টগুলি কখনই অর্পণ করবেন না কারণ তাদের ইউটিএফ -16 এ প্রতিনিধিত্ব করা যায় না। এটি ইউটিএফ -8 থেকে 4 বাইট সীমাবদ্ধ করার প্রভাব ফেলেছিল।
ব্যবহারকারী46971

1
"ইউনিকোড ইউটিএফ নয়" - অনেকের কাছে এটি ডাব্লুটিএফ;)
এমএলভিএলজর

4

ইউরোপীয় ভাষার জন্য, ইউটিএফ -8 আরও ছোট। ওরিয়েন্টাল ভাষার ক্ষেত্রে, পার্থক্যটি এত পরিষ্কার নয় clear

উভয়ই ইউনিকোডের সম্ভাব্য সমস্ত অক্ষর পরিচালনা করবে, সুতরাং এটি সামঞ্জস্যের ক্ষেত্রে কোনও পার্থক্য করা উচিত।


3

আপনার ইউনিকোডের চেয়ে আরও বেশি অক্ষরযুক্ত এনকোডিং রয়েছে।

  • ইউটিএফ 8

    ইউটিএফ -8 এনকোডিংটি ভেরিয়েবল-প্রস্থ, 1-4 বাইট থেকে শুরু করে প্রতিটি বাইটের উপরের বিটগুলি নিয়ন্ত্রণ বিট হিসাবে সংরক্ষিত থাকে। প্রথম বাইটের শীর্ষস্থানীয় বিটগুলি সেই অক্ষরের জন্য ব্যবহৃত মোট বাইটের সংখ্যা নির্দেশ করে। একটি অক্ষরের কোড পয়েন্টের স্কেলারের মান হ'ল নিয়ন্ত্রণহীন বিটের সংমিশ্রণ। এই সারণীতে, xইউনিকোড মানের সর্বনিম্ন 8 বিট yউপস্থাপন করে, পরবর্তী উচ্চতর 8 টি বিট zউপস্থাপন করে এবং বিটগুলি এর চেয়েও বেশি উপস্থাপন করে।

    Unicode              Byte1     Byte2     Byte3     Byte4
    U+0000-U+007F       0xxxxxxx            
    U+0080-U+07FF       110yyyxx  10xxxxxx          
    U+0800-U+FFFF       1110yyyy  10yyyyxx  10xxxxxx    
    U+10000-U+10FFFF    11110zzz  10zzyyyy  10yyyyxx  10xxxxxx
    
  • UCS-16
  • UCS-16BE
  • UCS-16LE

  • হল UTF-16
  • হল UTF-16BE
  • হল UTF-16LE

  • হল UTF-32
  • হল UTF-32-BE

1
আপনার তালিকাভুক্তের চেয়ে আরও বেশি ইউনিকোড চরিত্রের এনকোডিং রয়েছে। উদাহরণস্বরূপ UTF-1 , UTF-7 , UTF-EBCDIC , GB-18030 , MIME , UTF-9 এবং UTF-18 ... আপনি ইউনিকোড ডেটা এনকোড করতে যে কোনও বাইনারি এনকোডিং স্কিম ব্যবহার করতে পারেন। আরও পড়ুন ইউনিকোড এনকোডিংগুলির তুলনা
ফুক্লিভ

1

"ইউনিকোড" হ'ল "ইউটিএফ -16" এর আরেকটি শব্দ, যা ইউনিকোড চরিত্রের এনকোডিং যা প্রতিটি চরিত্রকে ষোল-বিট করে দেয়। ইউটিএফ -8 এটিকে অক্ষর অনুসারে আটটি বিটে এনকোড করে।

উভয় ক্ষেত্রেই, কোনও ওভারফ্লো আরও 16 বা আট বিট বরাদ্দ করা হয়।



"এটা পরিস্থিতির উপর নির্ভর করে.
জন স্যান্ডার্স

যদিও এই নির্দিষ্ট প্রশ্নের জন্য মনে হয় "ইউনিকোড" "ইউটিএফ -16" এর অন্য একটি শব্দ হিসাবে প্রকৃতপক্ষে আপত্তিজনক, এটি সাধারণভাবে নয় - জেসনের উত্তর দেখুন।
আরজান

1
আপনার অর্থ "প্রতি কোড ইউনিট", "প্রতি চরিত্র" নয়; উভয় ইউটিএফ -8 এবং ইউটিএফ -16 একটি অক্ষরের প্রতিনিধিত্ব করতে একাধিক কোড ইউনিট ব্যবহার করতে পারে। মাইক্রোসফ্ট পরিভাষা ব্যতীত "ইউনিকোড" একটি "ইউটিএফ -16" একই জিনিস নয়।
ব্যবহারকারী46971

1

পাঠ্য ফাইলের মতো ছোট ফাইলগুলির সাথে একমাত্র আসল সুবিধা হ'ল ফলস্বরূপ ফাইলের আকার। ইউটিএফ -8 সাধারণত ছোট ফাইল তৈরি করে। তবে এই পার্থক্যটি চীনা / জাপানি পাঠ্যের সাথে কম স্পষ্ট হতে পারে।


মনে রাখবেন যে নেটওয়ার্ক ব্যান্ডউইথ এবং মেমরির ব্যবহারের মধ্যেও পার্থক্য রয়েছে।
জেসন বেকার 3

1
"ইউটিএফ -8 সাধারণত ছোট ফাইল তৈরি করে": সাধারণত হয় না। ইউটিএফ -8 ASCII ফাইলগুলির জন্য ছোট ফাইল তৈরি করে। যদি কোনও ফাইল কেবল ইউ + 0800 এর উপরে ইউনিকোড কোডপয়েন্ট থাকে, তবে এটি ইউটিএফ -8 এর তুলনায় ইউটিএফ -16 এর চেয়ে বড় হবে ।
sleske

0

এক কথায়, ইউনিকোড একটি চরিত্র সেট , অন্যদিকে ইউনিকোড বিগ এন্ডিয়ান এবং ইউটিএফ -8 দুটি এনকোডিং যা কম্পিউটারে অক্ষর সংরক্ষণ করতে ব্যবহৃত হয়।


আর পার্থক্যটা কি ...?
ডেভিড রিচার্বি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.