এএসসিআইআই কোডটি কি 7-বিট বা 8-বিট?


104

আমার শিক্ষক আমাকে বললেন ASCII 8-বিট চরিত্রের কোডিং স্কিম। তবে এটি কেবল 0-127 কোডের জন্য সংজ্ঞায়িত করা হয়েছে যার অর্থ এটি 7-বিটগুলিতে ফিট হতে পারে। সুতরাং এটি কি যুক্তিযুক্ত হতে পারে না যে ASCII বিটটি আসলে 7-বিট কোড?

এবং ASCII মোটেও 8-বিট কোড বলে যখন আমরা বলতে চাই তার অর্থ কি?

উত্তর:


95

ASCII প্রকৃতপক্ষে 7-বিট কোড হিসাবে ধারণা করা হয়েছিল। 8-বিট বাইট সর্বব্যাপী হওয়ার আগে এটি ভালভাবে করা হয়েছিল এবং এমনকি 1990 এর দশকে আপনি এমন সফ্টওয়্যার আবিষ্কার করতে পারেন যা ধরে নিয়েছিল যে এটি প্রতিটি বাইটের 8 তম বিটকে তার নিজস্ব উদ্দেশ্যে ব্যবহার করতে পারে ("8-বিট পরিষ্কার নয়")। আজকাল লোকেরা এটিকে 8-বিট কোডিং হিসাবে ভাবেন যেখানে 0x80 0xFF এর মাধ্যমে বাইটগুলির কোনও সংজ্ঞায়িত অর্থ নেই, তবে এটি একটি রেটকন

এমন কয়েক ডজন পাঠ্য এনকোডিং রয়েছে যা 8 তম বিটের ব্যবহার করে; এগুলি ASCII- সামঞ্জস্যপূর্ণ বা না হিসাবে শ্রেণিবদ্ধ করা যেতে পারে এবং স্থির- বা ভেরিয়েবল-প্রস্থ। এএসসিআইআই-সামঞ্জস্যপূর্ণ মানে প্রসঙ্গ নির্বিশেষে 0x00 থেকে 0x7F এর মধ্যে মান সহ একক বাইটগুলি ASCII তে একই অক্ষরগুলিকে এনকোড করে I আপনি যদি এটিকে সম্ভবত এড়ানো যায় তবে কোনও অ-এসসিআইআই-সামঞ্জস্যপূর্ণ পাঠ্য এনকোডিংয়ের সাথে আপনার কিছু করার দরকার নেই; এএসসিআইআইয়ের প্রত্যাশামূলক নিষ্পাপ প্রোগ্রামগুলি তাদের বিপর্যয়মূলক, প্রায়শই সুরক্ষা-ভঙ্গ ফ্যাশনে ভুল ব্যাখ্যা দেয়। আজকাল এগুলি এতটাই অবমানিত হয়েছে যে ( ইউটিএফ -১ of) এর দুর্ভাগ্যজনক ব্যতীত HTML5 জনসাধারণের ওয়েবে তাদের ব্যবহার নিষিদ্ধ করে । আমি তাদের সম্পর্কে আর কোনও কথা বলব না।

একটি স্থির-প্রস্থের এনকোডিংয়ের অর্থ এটি কেমন লাগে: সমস্ত অক্ষর একই সংখ্যক বাইট ব্যবহার করে এনকোড করা হয়। ASCII- সামঞ্জস্যপূর্ণ হতে, একটি স্থির-সহ এনকোডিংয়ের জন্য কেবল একটি বাইট ব্যবহার করে এর সমস্ত অক্ষর এনকোড করতে হবে, যাতে এতে 256 টির বেশি অক্ষর থাকতে পারে না। আজকাল এর মধ্যে সর্বাধিক সাধারণ এনকোডিং উইন্ডোজ -১২২২ , আইএসও 8859-1 -এর একটি এক্সটেনশন ।

আজকাল সম্পর্কে জানার জন্য এখানে কেবলমাত্র একটি ভেরিয়েবল-প্রস্থের ASCII- সামঞ্জস্যপূর্ণ এনকোডিং রয়েছে তবে এটি অত্যন্ত গুরুত্বপূর্ণ: ইউটিএফ -8 , যা ইউনিকোডের সমস্তকে একটি এসসিআইআই-সামঞ্জস্যপূর্ণ এনকোডিংয়ে প্যাক করে। আপনি যদি এটি পরিচালনা করতে পারেন তবে আপনি এটি ব্যবহার করতে চান to

চূড়ান্ত নোট হিসাবে, আজকাল "এএসসিআইআই" এটি গ্রহণ করে ইউনিকোড থেকে ব্যবহারিক সংজ্ঞা গ্রহণ করে, এর মূল মান (এএনএসআই এক্স 3.4-1968) নয়, কারণ historতিহাসিকভাবে ASCII 127-চরিত্রের পুস্তকে বেশ কয়েকটি ডজন প্রকরণ ছিল - উদাহরণস্বরূপ, কিছু বিরামচিহ্ন ফরাসি পাঠ্য সংক্রমণ সহজতর করার জন্য উচ্চারণযুক্ত অক্ষর দ্বারা প্রতিস্থাপিত হতে পারে। আজকাল এই সমস্ত প্রকারভেদগুলি অপ্রচলিত, এবং লোকেরা যখন "এএসসিআইআই" বলে থাকে তখন তারা বোঝায় যে 0x00F এর সাথে 0x7F এনকোড ইউনিকোড কোডপয়েন্টগুলি ইউ + 0000 ইউ + 007F এর মাধ্যমে 0x00 মানের বাইটগুলি। আপনি যদি কোনও প্রযুক্তিগত স্ট্যান্ডার্ড নিজেকে লেখার বিষয়টি খুঁজে পান তবে এটি সম্ভবত আপনার পক্ষে গুরুত্বপূর্ণ।

আপনি যদি এএসসিআইআই এবং এটির পূর্ববর্তী এনকোডিংগুলির ইতিহাসে আগ্রহী হন, তবে "চরিত্রের কোডগুলির বিবর্তন, 1874-1968" ( http://falsedur.com/doc/ascii_evolution-of- এ সামিজডাত অনুলিপি) কাগজটি দিয়ে শুরু করুন- ক্যারেক্টার-কোড.পিডিএফ ) এবং তারপরে উল্লেখগুলি অনুসরণ করুন (যার মধ্যে অনেকগুলি অনলাইনে উপলব্ধ নয় এবং একটি বিশ্ববিদ্যালয়ের লাইব্রেরিতে অ্যাক্সেস পাওয়া সন্ধান করাও কঠিন হতে পারে, আমি দুঃখের সাথে বলতে পারি))।


4
তাহলে কি ASCII আজকাল 7-বিট বা 8-বিট হয়? আপনি বলেছেন যে এটি এখন 0x00-0x7F ব্যবহার করে, স্পষ্টতই। তবে আমরা কি শীর্ষস্থানীয় 0 গণনা করব?
অনুরাগ কালিয়া

8
এটি নির্ভর করে আপনি কী ধরণের পেডেন্ট। স্পেসিফিকেশন যা এখনও আনুষ্ঠানিকভাবে ASCII (এএনএসআই X3.4-1968) সংজ্ঞায়িত করেছে এটি একটি 7-বিট এনকোডিং হিসাবে বর্ণনা করে তবে কেউ আর 7-বিট বাইট সঞ্চারিত করে না এবং আন্তঃব্যবযোগিতা আজকাল নির্দেশ করে যে অষ্টম বিটটি শূন্য হতে হবে - আপনি পারবেন না এটি একটি সমতা বিট বা অনুরূপ জন্য ব্যবহার করুন। সুতরাং ASCII কে একটি আট-বিট এনকোডিং হিসাবে বর্ণনা করা সমানভাবে বৈধ IMMSHO যা তার সংখ্যার উপরের অর্ধেকটি "সংরক্ষিত, ব্যবহার করবেন না" হিসাবে ছেড়ে যাওয়ার জন্য ঘটে। যে কোনও উপায়ে, যদি আপনি আট-বিট বাইটগুলি যার উচ্চ বিট সেট রয়েছে তার মধ্যে কোনও সঞ্চার করেন , আপনি বৈধ ASCII প্রেরণ করছেন না
zwol

4
(... তবে আপনি বৈধ কিছু অন্যথায় যেমন ইউটিএফ -8 বা আইএসও 8859-1 বা
কেওআই

4
সত্যিকারের পেডেন্টিক হওয়ার জন্য, স্ট্যান্ডার্ডটি এখন 4-19-19 [আর -2012] ইনসিটিএস হয় কারণ এএসসি পূর্বে হিসাবে পরিচিত ছিল এক্স 3 তখন এনসিআইটিএস তত্কালীন ইনসিটিএসে রূপান্তরিত হয়েছিল। তবে ফরাসি, জার্মান, স্প্যানিশ ইত্যাদির জন্য প্রায় এক ডজন উচ্চারণযুক্ত চিঠিযুক্ত--বিট রূপগুলি এএনএসআই / ইনসিটিএস নয়, বরং আইএসও / আইইসি 66 64 এবং ইসিএমএ--নয়। এবং এটি 8-বিট (আইএসও / আইসিসি) 8859-1 যা ইউনিকোডের প্রথম 256-চর ব্লক গঠন করে।
dave_thompson_085

4
@ dave_thompson_085 সবাই আপনার মতো প্যাড্যান্টিক নয় - যার অর্থ আপনি পুরানো প্রযুক্তিগত ডকুমেন্টেশন এবং এমনকি মানদণ্ডগুলি খুঁজে পেতে পারেন, সেই উল্লেখটি "ASCII", বা "X3.4-1968" জাতীয় ভেরিয়েন্টগুলি অন্তর্ভুক্ত করার উদ্দেশ্যে , বা কমপক্ষে তাত্ক্ষণিক বাড়ে, পরিষ্কারভাবে এটি বাতিল করে না। অতএব, আমি ব্যক্তিগতভাবে ইউএসকোডকে ASCII এর আদর্শিক রেফারেন্স হিসাবে ব্যবহার করব যদি আমার কোনও স্পষ্ট লিখতে হয় যেখানে এটি গুরুত্বপূর্ণ। এটাই আমি বোঝাতে চাইছি।
zwol

15

অন ​​লিনাক্স man asciiবলেছেন:

ASCII হ'ল ইনফরমেশন ইন্টারচেঞ্জের আমেরিকান স্ট্যান্ডার্ড কোড। এটি একটি 7-বিট কোড।


10

আসল ASCII টেবিলটি 7 টি বিটে এনকোড করা আছে হয়েছে সুতরাং এটিতে 128 টি অক্ষর রয়েছে।

আজকাল অধিকাংশ পাঠকদের / সম্পাদকদের "এক্সটেন্ডেড" ASCII টেবিল (থেকে ব্যবহার আইএসও 8859-1 , যার উপর এনকোড করা হয়) 8 বিট এবং (সহ 256 অক্ষরের ভোগ একটি , একটি , OE , দ্বীপ , è এবং পাশাপাশি ইউরোপীয় ভাষা জন্য দরকারী অন্যান্য অক্ষরের গাণিতিক গ্লাইফ এবং অন্যান্য চিহ্ন হিসাবে)।

যদিও হল UTF-8 ব্যবহার মৌলিক ASCII টেবিল হিসাবে একই এনকোডিং (অর্থের 0x41হয় একটি উভয় কোডের মধ্যে), এটি "ঠিকানার বিস্তারিত একটি" ব্লক জন্য একই এনকোডিং ভাগ নেই। যা মাঝে মাঝে অদ্ভুত অক্ষরগুলিকে à লা কার্টে বা পাইটাটার মতো শব্দগুলিতে হাজির করে তোলে ।


উপরোক্ত কয়েকটি ভুল আছে। CP সিপি -1252 এ থাকলেও আইএসও 8859-1 এর অংশ নয় । এবং লাতিনের এক্সটেন্ডেড-এ ব্লকটি ইউনিকোডের প্রথম 128 বা 256 টি অক্ষর নয়: এটির পরে block, ł এবং like এর মতো অক্ষর রয়েছে পরবর্তী ব্লক ſ
রিচার্ড স্মিথ

ভাল যুক্তি! আমি মনে করি আমার অর্থ "ল্যাটিন -১ পরিপূরক"। স্ট্যান্ডার্ড মান ...
গিলিয়াম

4
অনেকগুলি "বর্ধিত এএসসিআইআই" অক্ষর সেট রয়েছে এবং সেগুলির মধ্যে একটি হ'ল আইএসও 8859-1। শব্দটি প্রায় অর্থহীন কারণ আপনি যখন এনকোডিং এবং পাঠ্য ডিকোডিং করছেন তখন আপনাকে জানতে হবে কোন নির্দিষ্ট অক্ষর এনকোডিংটি ব্যবহৃত হচ্ছে (এবং এটি এমনকি বর্ধিত ASCII অক্ষর সেটের জন্যও নাও হতে পারে)।
টম ব্লডজেট 0

3

এএসসিআইআই এনকোডিংটি--বিট, তবে বাস্তবে, এএসসিআইআইতে এনকোড করা অক্ষরগুলি b বিটের গোষ্ঠীতে সংরক্ষণ করা হয় না। পরিবর্তে, একটি ASCII একটি বাইটে সংরক্ষণ করা হয়, এমএসবি সাধারণত 0 এ সেট থাকে (হ্যাঁ, এটি ASCII এ নষ্ট হয়)।

আপনি কোনও পাঠ্য সম্পাদককে সেট করা ASCII অক্ষরটিতে একটি স্ট্রিং ইনপুট করে, ASCII এ এনকোডিংটি সেট করে এবং বাইনারি / হেক্স দেখে এইটি যাচাই করতে পারেন:
এখানে চিত্র বর্ণনা লিখুন

পাশাপাশি: (কঠোরভাবে) এএসসিআইআই এনকোডিংটি এখন অস্বাভাবিক, ইউটিএফ -8 এর পক্ষে (যা উপরে বর্ণিত এমএসবি নষ্ট করে না - আসলে, 1 এর একটি এমএসবি নির্দেশ করে যে কোড পয়েন্টটি 1 বাইটের বেশি সহ এনকোডড রয়েছে)।


0

আসল ASCII কোডটি 128 টির সাথে 0 থেকে 127 নম্বরযুক্ত বিভিন্ন অক্ষর সরবরাহ করেছে AS ASCII একটি 7-বিট সমার্থক, যেহেতু 8-বিট বাইট সাধারণ স্টোরেজ উপাদান, ASCII 128 অতিরিক্ত অক্ষরের জন্য ঘর ছেড়ে দেয় যা বিদেশী ভাষা এবং অন্যান্য চিহ্নগুলির জন্য ব্যবহৃত হয়। তবে 7-বিট কোডটি 8-বিট কোডের আগে আসল তৈরি হয়েছিল। এএসসিআইআই আমেরিকান স্ট্যান্ডার্ড কোড ফর ইনফরমেশন ইন্টারচেঞ্জের পক্ষে প্রথম দিকে ইন্টারনেট মেল সিস্টেমগুলিতে এটি কেবল মাত্র 7-বিট এএসসিআইআই কোড সমর্থন করে, কারণ এটি তখন স্তন্যপান সিস্টেমের উপর প্রোগ্রাম এবং মাল্টিমিডিয়া ফাইলগুলি কার্যকর করতে পারে। এই সিস্টেমগুলিতে বাইটের 8 বিট ব্যবহার করা হয় তবে তারপরে কোডিং পদ্ধতিগুলি যেমন MIME, UUcoding এবং BinHex ব্যবহার করে এটি অবশ্যই 7-বিট ফর্ম্যাটে রূপান্তরিত করতে হবে। এর অর্থ হ'ল 8-বিটটি 7-বিট অক্ষরে রূপান্তরিত হয়েছে, যা তাদের এনকোড করার জন্য অতিরিক্ত বাইট যোগ করে।


-4

যখন আমরা ASCII কে bit বিট কোড হিসাবে কল করি, তখন বাম দিকের সর্বাধিক বিটটি সাইন বিট হিসাবে ব্যবহৃত হয় তাই 7 বিট দিয়ে আমরা ১২ 12 টি পর্যন্ত লিখতে পারি that যার অর্থ -126 থেকে 127 পর্যন্ত হয় কারণ ASCII এর সর্বোচ্চ ইমামের মান 0 থেকে 255। এটি হতে পারে শেষ বিটটিকে সাইন বিট হিসাবে বিবেচনা করা হলে কেবল 7 বিটের যুক্তি দিয়ে সন্তুষ্ট


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