আপনি যখন টেক্সট সম্পাদকের মাধ্যমে বাইনারি ফাইল খুলবেন তখন বাইনারি কোডটি কেন দেখছেন না?


51

আপনি যখন টেক্সট সম্পাদকের মাধ্যমে বাইনারি ফাইল খুলবেন তখন বাইনারি কোডটি কেন দেখছেন না? উদাহরণস্বরূপ, আমি যখন পাঠ্য সম্পাদক দিয়ে একটি চিত্র খুলি, তখন আমি কিছু অদ্ভুত অক্ষর এবং কিছু মানব পাঠযোগ্য অক্ষরও দেখতে পাই; তবে চিত্রটি বাইনারিতে এনকোড করা উচিত।


8
তুমি কী আশা করেছ? আপনি কীভাবে মনে করেন এটি সংরক্ষণাগারভুক্ত করা উচিত?
নিকোডেমাস আরআইপি

2
আমি ভাবছি কেন আরও সম্পাদকরা বাইনারিটিকে কাঁচা ASCII 1/0 ক্রম হিসাবে প্রস্তাব করে না।
Xeoncross

7
@ জেনোক্রস: যেহেতু কাঁচা ০/১ ক্রমটি অকেজো, এটি ম্যানুয়াল ডিকোডিংয়ের পক্ষে খুব অতিরঞ্জিত কারণ তারা প্রচুর পরিমাণে পর্দার স্থান নেয়; হেক্স ডিসপ্লে ম্যানুয়াল ডিকোডিংয়ের জন্য সাধারণত আরও উন্নত। এবং কিছু প্রশিক্ষণের মাধ্যমে, আপনি দ্রুত এবং সহজেই হেক্স বাইনারি এবং তদ্বিপরীত থেকে অনুবাদ করতে পারেন।
মিথ্যা রায়ান

3
@ ফায়াস্কো ল্যাবস: পেডেন্ট্রি: দুটি অঙ্কের সাথে এক হেক্স নম্বর - 00 থেকে এফএফ, যা দশমিক 0 - 255 (8 বিট 2 ^ 8 = 256 সম্ভাব্য রাজ্যের প্রতিনিধিত্ব করে) তে অনুবাদ করে।
পিসকভোর

1
@ পিসকভোর - এটি আমার চেয়ে আরও ভাল করার জন্য ধন্যবাদ। ডেডবিফ রেকর্ডের জন্য একটি 8 টি সংখ্যা সহ একটি হেক্স নম্বর। ;।)
ফায়াস্কো ল্যাবগুলি

উত্তর:


83

বাইনারি এবং পাঠ্য ডেটা পৃথক করা হয় না: এগুলি কেবল ডেটা । এটি সেই ব্যাখ্যার উপর নির্ভর করে যা তাদের এক বা অন্য করে তোলে। আপনি যদি কোনও পাঠ্য সম্পাদকটিতে বাইনারি ডেটা (যেমন একটি চিত্র ফাইল) খোলেন, তবে এর বেশিরভাগটিই বোধগম্য হবে না, কারণ এটি আপনার নির্বাচিত ব্যাখ্যাকে (পাঠ্য হিসাবে) ফিট করে না ।

আপনি যেটিকে পাঠ্য বলছেন তা সম্ভাব্য ফাইল সামগ্রীর একটি উপসেট : একটি নির্দিষ্ট অক্ষর সেটটিতে পাঠযোগ্য অক্ষরগুলিতে অনুবাদ করে এমন ডেটা ।

উদাহরণস্বরূপ, হওয়া ASCII , আপনি যে দেখতে পারেন, 128 এর "অনুমোদিত" মূল্যবোধ, অর্ধেক মাত্র অক্ষর এবং সংখ্যার 30 যতিচিহ্ন রয়েছে এবং বাকি আছে কন্ট্রোল ক্যারেক্টার । পরবর্তী দলগুলি কেবল পাঠ্য ফাইলগুলিতে খুব বেশি ব্যবহৃত হয় না এবং তাদের কোনও সত্যই ভাল পাঠ্য উপস্থাপনা নেই। এর মধ্যে কয়েকটি ট্যাব এবং নিউলাইন অক্ষর, যেখানে পাঠ্য সম্পাদকরা তাদের প্রদর্শনে ইতিমধ্যে সৃজনশীল হওয়া দরকার।

কিছু পাঠ্য সম্পাদকের স্পষ্টতই সাদা স্থান প্রদর্শন করার বিকল্প রয়েছে। তারপরে তাদের নিয়মিত বিন্যাসের আচরণের পাশাপাশি এগুলি প্রকৃতপক্ষে অক্ষর হিসাবে আঁকবে (এটি কেবল এই চরিত্রগুলির ব্যাখ্যা মাত্র )।

খাঁটি এএসসিআইআই কেবল 128 টি মানের ব্যাখ্যা করে। এই তথ্য সংরক্ষণ করার জন্য ব্যবহৃত বাইটগুলির প্রতি 256 টি সম্ভাব্য মান রয়েছে, সুতরাং সম্ভাব্য মানের অর্ধেক ASCII তে অনুমোদিত নয়। এগুলি উদাহরণস্বরূপ অঞ্চল-নির্দিষ্ট অক্ষর সেটগুলিতে ব্যবহৃত হয়, যেমন লাতিন ১, তবে ASCII এ সেগুলি অপরিবর্তিত। কোনও পাঠ্য দর্শনে তাদের কোনও উপস্থাপনা নেই যা কেবলমাত্র ASCII পরিচালনা করতে পারে।


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

যেহেতু এমন কোনও সাধারণ ডেটা ব্যাখ্যার (চরিত্রের সেট) নেই যা পাঠযোগ্য অক্ষরগুলিতে সমস্ত সম্ভাব্য মানচিত্রকে মানচিত্র করে এবং যেহেতু এটি কোনওভাবেই বোঝা যায় না (যেহেতু এটি পাঠযোগ্য পাঠ্য নয়), প্রধান অংশগুলি গীব্রিশ হিসাবে প্রদর্শিত হয়।


একটি হেক্স সম্পাদক ডাটার জন্য আলাদা উপস্থাপনা চয়ন করে: এটি প্রতিটি বাইটকে দুটি হেক্সাডেসিমাল অঙ্ক হিসাবে প্রদর্শন করে । এটি কেবল ভিন্নরূপে উপস্থাপনা এবং সহজেই মানব-পঠনযোগ্য চরিত্র সেট সহ একটি: সমস্ত 256 সম্ভাব্য বাইট মান দুটি হেক্স ডিজিট হিসাবে উপস্থাপন করা যেতে পারে।

যেহেতু হেক্স এবং এর বিপরীতে বাইনারি ডেটাগুলির একটি সহজে ম্যাপিং রয়েছে (একটি বর্গব্যাপী এক হেক্সাডেসিমাল অঙ্কে / থেকে 4 বাইনারি অঙ্কগুলি) এবং বাইনারিটিতে প্রতি অঙ্কে খুব কম তথ্য থাকে তাই নির্দিষ্টভাবে না থাকলে হেক্সাডেসিমাল মানুষের পক্ষে বাইনারি পড়ার জন্য পছন্দনীয় উপায় ভিন্ন উপস্থাপনা পছন্দ করার কারণগুলি।


কিছু পাঠ্য সম্পাদকদের একটি হেক্স সম্পাদক সম্পাদক মোড এবং কিছু হিউরিস্টিক থাকতে পারে যা কোনও ফাইল পাঠ্য বা বাইনারি কিনা তা নির্ধারণ করার চেষ্টা করে এবং স্বয়ংক্রিয়ভাবে একটি মোড বা অন্যটি নির্বাচন করে। তবে এটি সঠিকভাবে পাওয়া কঠিন হতে পারে এবং এটি ফাইলের নির্দিষ্ট সম্পত্তি নয় যা বলে যে এটি একরকম বা অন্য।


কিছু এফটিপি ক্লায়েন্ট যা ফাইল শেষা w শ জন্য ব্যবহার করা হয় উল্লেখ করার অনুরোধ টেক্সট ডাটা । এই প্রোগ্রামগুলির পরে আপনার সাথে সংযুক্ত থাকা মেশিনের ওএসের সাথে ফাইলগুলি ফাইলের সামগ্রী পরিবর্তন করতে হবে, কারণ উইন্ডোজ CR/LFলিনাক্স এবং ইউনিক্স (ম্যাক ওএস এক্স সহ; LF) এর চেয়ে আলাদা লাইন সমাপ্ত বর্ণের ক্রম ( ) ব্যবহার করে।


4
উফ, এলএফ আমাকে স্মরণ করার চেয়ে বেশি বার আমাকে কামড় দিয়েছে।
surfasb

32

কারণ আপনি এটি কোনও পাঠ্য সম্পাদকে খোলেন , বাইনারি সম্পাদক নয়


22
যেমন আপনি দেখেছেন, পাঠ্য।
ইগনাসিও ওয়াজকেজ-আব্রামগুলি

1
জোড়া (বাইট) সাজানো হেক্সাডেসিমাল সংখ্যা (0-চ) এর উপস্থাপনা হিসাবে পাঠ্য। আপনি যদি বাইনারি চান তবে হেক্সটিকে শূন্য ও এরগুলির সংজ্ঞাহীন স্ট্রিংয়ে বাইনারি রূপান্তর করুন। হেক্স আরও বেশি মানব পাঠযোগ্য এবং বোধ করা সহজ।
ফায়াসকো ল্যাবগুলি

2
গোটার বক্তব্য যে: এই ধরণের জিনিস শেখানোর একমাত্র উদ্দেশ্যে ওনেস এবং জেরোস (এবং তারপরে সম্ভবত সম্পর্কিত হেক্স / চর / ডিসি ট্রান্সপ্লিটেশন সহ পৃথক প্যানস) সহ একজন সত্যিকারের বাইনারি সম্পাদক স্থাপনের জন্য সাহসী পদক্ষেপ নেওয়া উচিত । আমি জানি তাদের না করা উচিত, তবে জনপ্রিয় মিডিয়া এবং গণিত শিক্ষকরা কম্পিউটার জানার ভান করে শিখতে আগ্রহী বাচ্চাদের জন্য সমস্ত প্রত্যাশা ভুল করে দেয়।
জেডজেআর

@ জেডজেআর: কোন কারণ নেই তাদের উচিত নয়। অনেক হেক্স সম্পাদক আপনাকে বাইনারি ফাইল ফাইল দেখতে দেয়। প্রোগ্রামাররা সাধারণত হেক্সাডেসিমাল ভিউয়ের মতো দরকারী মনে হয় না, তাই আপনি এটির বিষয়ে এতটা শুনতে পান না।
ডেভিড জেড

16

প্রসঙ্গ এবং ব্যাখ্যার সাথে এটি করা। আপনার কম্পিউটারে যা রয়েছে তা হ'ল হাই ও লো ভোল্টেজের, বা একটি ডিস্কের চৌম্বকীয় অঞ্চলগুলির নিদর্শন যা কেবল যখন আমরা কীভাবে তাদের ব্যাখ্যা করতে চাই সিদ্ধান্ত নেওয়ার অর্থ তখনই লাভ করে।

বিভিন্ন পরিস্থিতিতে, প্যাটার্নটি নিম্ন-উচ্চ-নিম্ন-নিম্ন-নিম্ন-নিম্ন-উচ্চ-পাত্রের অর্থ 65 নম্বর হতে পারে, একটি মূলধনী 'এ', একটি আকাশ-নীল রঙ, যে কোনও গ্রাহক কফিকে আদেশ করেছিলেন, তারিখ 'মার্চ 6th ষ্ঠ 'বা আসলে কিছু।

আপনি যখন কোনও গ্রাফিক্স প্রোগ্রামে আপনার চিত্র ফাইলটি খোলেন, এটি চিত্র হিসাবে এটি ব্যাখ্যা করতে জানে, কোন প্যাটার্নগুলি চিত্রের ফর্ম্যাটটি নির্দেশ করে তা জানায়, কোন প্যাটার্নগুলি চিত্রের আকার এবং এমনটি নির্দেশ করে।

আপনি যখন কোনও টেক্সট সম্পাদকে আপনার চিত্র ফাইলটি খোলেন, এটি পাঠ্য হিসাবে বিবেচিত হবে। এটি একটি খুব সাধারণ ফর্ম্যাট, কম্পিউটারে যা ঘটছে তার থেকে অনেক কাছে, তবে এখনও কিছু ব্যাখ্যা চলছে। বিশেষত, প্রায় প্রতিটি প্যাটার্ন একটি নির্দিষ্ট চরিত্র হিসাবে ব্যাখ্যা করা হয়, কিছু এজেডের মতো স্বাভাবিক, তবে কিছু অদ্ভুত অক্ষরও। কয়েকটি নিদর্শন অক্ষর হিসাবে প্রদর্শিত হবে না বরং এর পরিবর্তে মৌলিক বিন্যাস হিসাবে গণ্য হবে: নিউলাইন, ট্যাব।

(ইউটিএফ -8 এর মতো ইউনিকোড এবং পাঠ্য এনকোডিংয়ের মতো পরিস্থিতি কিছুটা জটিল but

যখন আপনি একটি টেক্সট এডিটরে একটি বাইনারি ফাইল খোলা আছে, পরিবর্তনগুলি না করার বিষয়ে সাবধানতা অবলম্বন করুন, কারণ আপনার করা প্রায়শই পরিবর্তন ফাইলের বিষয়বস্তুর স্বাভাবিক ব্যাখ্যাকে সম্পূর্ণরূপে ব্যাহত করবে, এটিই ফাইলটি নষ্ট করে দেবে এবং এটি অকেজো করে দেবে।


3

সরলীকৃত উদাহরণ হিসাবে, একটি পাঠ্য সম্পাদক দিয়ে খোলা একটি চিত্র ফাইল বিবেচনা করুন।

চিত্রটি একটি সাধারণ দাবা প্যাটার্ন, স্কোয়ার 3 পিক্সেল প্রশস্ত এবং প্রতিটি স্কোয়ারের মধ্যে 1 পিক্সেল ধূসর সীমানা। - তিনটি কালো পিক্সেল, ধূসর সীমানা পিক্সেল, তিনটি সাদা পিক্সেল, একটি ধূসর সীমানা পিক্সেল, পুনরাবৃত্তি।

এই চিত্রের প্রথম লাইনে নিম্নলিখিত মানটি চারবার থাকবে:

Black    Black    Black    Gray     White    White    White    Gray
0x000000 0x000000 0x000000 0x7F7F7F 0xFFFFFF 0xFFFFFF 0xFFFFFF 0c7F7F7F

(বাইনারিের পরিবর্তে হেক্সে - বাইনারিটির স্ট্রিং চারগুণ দীর্ঘ হবে - 0x7F 0b01111111 দ্বারা প্রতিস্থাপন করা হবে)

আপনি যদি কোনও টেক্সট সম্পাদকে সেই স্ট্রিংয়ের ডেটা লোড করেন তবে আপনি নীচের পাঠ্যটি পাবেন:

[Nul] [Nul] [Nul] [Nul] [Nul] [Nul] [Nul] [Nul] [Nul] [দেল] [দেল] [দেল] [ফাঁকা] [ফাঁকা] [ফাঁকা] [ফাঁকা] [ফাঁকা ] [ফাঁকা] [ফাঁকা] [ফাঁকা] [ফাঁকা] [দেল] [দেল] [দেল]

এর কারণ 0x00 হ'ল নাল মানটির ASCII কোড এবং আপনাকে একটি কালো পিক্সেলের মান পেতে (3 যাইহোক বিবিপি বিবিপিতে) 3 বার লিখতে হবে এবং আপনার কাছে 3 টি কালো পিক্সেল রয়েছে। তারপরে 0x7F হ'ল মুছে ফেলার জন্য ASCII কোড এবং ধূসর পিক্সেল পেতে আপনার তিনবার প্রয়োজন। 0xFF বিশেষত কোনও কিছুর জন্য ASCII কোডকে ভালড করে না - এমনকি বর্ধিত ASCII সেটেও - এবং 3 টি সাদা পিক্সেল পেতে আপনাকে 9 বার এটি লিখতে হবে। এটি শেষ করে আপনি ধূসর পিক্সেল লিখতে আরও তিনটি ডিলিট পান।

এটি দেখানোর একটি আলাদা উপায়, যা সম্ভবত আরও কার্যকরভাবে ব্যাখ্যাযোগ্য হতে পারে, তার বিপরীত উদাহরণ - পাঠ্য সম্পাদকটিতে খালি হওয়ার পরে শূন্য এবং পদের পেতে কোনও ফাইলকে আপনার কী লিখতে হবে?

অবশ্যই শূন্য এবং একের জন্য এএসসিআইআই কোডস! একটি পাঠ্য সম্পাদকের একটি শূন্য 0 মান সহ একক বিট হিসাবে সংরক্ষণ করা হয় না, এটি 0b00110000 মান সহ 8 বিট হিসাবে সংরক্ষণ করা হয়, বা হেক্স 0x30

'0' এর ASCII কোড 0x30 হয়, এবং '1' এর ASCII কোড 0x31 হয়, তাই আপনি যদি শেস এবং একটি হিসাবে দাবা প্যাটার্ন সংরক্ষণ করতে চান তবে আপনার ফাইলটি দেখতে এইরকম হবে:

text editor:
10101010
01010101
10101010
01010101

Stored data (ASCII values for '1', '0' and 'new line'):
0x31 0x30 0x31 0x30 0x31 0x30 0x31 0x30 0x0D 0x30 0x31 0x30 0x31 0x30 0x31 0x30 0x31 0x0D 0x31 0x30 0x31 0x30 0x31 0x30 0x31 0x30 0x0D  0x30 0x31 0x30 0x31 0x30 0x31 0x30 0x31

এর চেয়ে আরও অনেক কিছুই রয়েছে - ফাইলগুলি শুরু হয়ে যায় এবং স্টপ হয় এবং মেটাডেটা এবং অন্যান্য সমস্ত ধরণের জিনিস থাকে তবে আপনার প্রশ্নের দৃষ্টান্তমূলক পাঠ এবং উত্তরটি হ'ল:

আপনার ফাইলের প্রথম 8 টি বিট 0b00110000 না হওয়া পর্যন্ত আপনার পাঠ্য সম্পাদক '0' লিখবেন না কারণ এটি '0' অক্ষরের জন্য ASCII- কোড। আপনার ফাইলটি 0b00110001 ছাড়াই প্রথম 8 টি বিট না করা থাকলে আপনার পাঠ্য সম্পাদক '1' লিখবেন না কারণ এটি '1' বর্ণের জন্য ASCII- কোড।


0

সম্পাদক কিছু টেক্সটটি বুদ্ধিযুক্ত কিনা তা বোঝার জন্য যথেষ্ট স্মার্ট নয়, সুতরাং এটি কোনও বৈশিষ্ট্য না থাকলে নির্দিষ্টভাবে অন্যথায় করতে না বলা এটি কোনও ফাইলকে পাঠ্য হিসাবে প্রদর্শন করে। অন্যরা যেমন উল্লেখ করেছে, কিছু সম্পাদক হেক্স প্রদর্শন করার বৈশিষ্ট্য রয়েছে।


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