सवाल हेक्स संपादकों को बाइनरी संपादकों क्यों कहा जाता है?


हेक्स और बाइनरी दो अलग-अलग आधार हैं। हेक्स, मेरी समझ में, उपयोग करने में आसान है और बाइनरी का अधिक सुविधाजनक संस्करण है।

हालांकि, मैं अक्सर सुनता हूं कि हेक्स संपादक बाइनरी संपादक हैं। यदि आप Google पर "बाइनरी संपादक" खोजते हैं, तो आपको हेक्स संपादक मिलते हैं।


80
2018-03-22 13:22


मूल


हेक्स बाइनरी डेटा का कुछ हद तक पठनीय प्रतिनिधित्व है। - Salman A


जवाब:


बाइनरी संपादक इसे एक फ़ाइल के रूप में संपादित करते समय संपादित करता है बाइनरी फ़ाइल

बाइनरी फ़ाइल - विकिपीडिया

बाइनरी फ़ाइल एक कंप्यूटर फ़ाइल है जो एक पाठ फ़ाइल नहीं है।   "बाइनरी फ़ाइल" शब्द का प्रयोग अक्सर "गैर-पाठ फ़ाइल" शब्द के रूप में किया जाता है [और है]   आमतौर पर बाइट्स का अनुक्रम होने के रूप में सोचा जाता है। ... बाइनरी फाइलें   आम तौर पर बाइट्स होते हैं जिनका अर्थ है जिसका अर्थ है   पाठ वर्णों के अलावा कुछ और।

हेक्स संपादक एक प्रकार का है बाइनरी संपादक जिसमें डेटा का प्रतिनिधित्व किया जाता है हेक्साडेसिमल

हेक्स संपादक - विकिपीडिया

हेक्स संपादक (या बाइनरी फ़ाइल संपादक या बाइट संपादक) एक प्रकार का कंप्यूटर प्रोग्राम है जो मौलिक बाइनरी डेटा के हेरफेर की अनुमति देता है जो कंप्यूटर फ़ाइल का गठन करता है। 'हेक्स' नाम 'हेक्साडेसिमल' से आता है: संख्याओं के लिए एक मानक प्रतिनिधित्व जिसमें 16 आधार है।


184
2018-03-22 13:37





शब्दावली मुश्किल है। विभिन्न लोगों के पास चीजों के लिए विभिन्न प्रकार के अलग-अलग नाम होते हैं।

इस उदाहरण में, ऐसा लगता है कि हेक्स "हेक्स संपादक" में प्रत्येक बाइट के मूल्य के पारंपरिक मानव-पठनीय प्रतिनिधित्व को संदर्भित किया जाता है, जबकि बाइनरी "बाइनरी एडिटर" में इस धारणा को संदर्भित किया गया है कि आप वास्तव में उच्च स्तर के टेक्स्ट एन्कोडिंग और इसी तरह के विचार के बिना बाइट लेयर (और बाइनरी में कंप्यूटर स्टोर बाइट्स) पर फ़ाइल संपादित कर रहे हैं। याद रखें कि उच्च-स्तरीय टेक्स्ट फ़ॉर्म में फ़ाइलों को आसानी से प्रस्तुत करने योग्य नहीं हैं, उसी कारण से "बाइनरी फाइल" या "बाइनरी" कहा जाता है।

न तो तकनीकी रूप से गलत है; वे सिर्फ विभिन्न कोणों से नामकरण समस्या पर आते हैं। व्यक्तिगत नोट पर, हालांकि, मैं इस बात से सहमत हूं कि "द्विआधारी संपादक" संतुलन पर भ्रमित है।


84
2018-03-22 14:50





बाइनरी संपादक प्रदर्शन (बाइनरी में) 

00000000 | 11111011 11111011 11111011 11111011 11110101 11111011 11111011 11111011
00001000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011
00010000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011
00011000 | 11110101 11111011 11111011 11111011 11111011 11111011 11111011 11111011
00100000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011
00101000 | 11111011 11111011 11101111 11111011 11111011 11111011 11111011 11111011
00110000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011
00111000 | 11111011 11111011 11111011 11101111 11111011 11111011 11111011 11111011
01000000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011
01001000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011
01010000 | 11101111 11111011 11111011 11111011 11111011 11111011 11111011 11111011
01011000 | 11101111 11111011 11111011 11111011 11111011 11111011 11111011 11111011
01100000 | 11111011 11111011 11111011 11111011 11111011 11101111 11111011 11111011
01101000 | 11111011 11111011 11111011 11111011 11111011 11111011 11111011 11111011

बाइनरी संपादक प्रदर्शन (हेक्साडेसिमल में) 

00 | fb fb fb fb f5 fb fb fb fb fb fb fb fb fb fb fb
10 | fb fb fb fb fb fb fb fb f5 fb fb fb fb fb fb fb 
20 | fb fb fb fb fb fb fb fb fb fb ef fb fb fb fb fb 
30 | fb fb fb fb fb fb fb fb fb fb fb ef fb fb fb fb 
40 | fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb 
50 | ef fb fb fb fb fb fb fb ef fb fb fb fb fb fb fb 
60 | fb fb fb fb fb ef fb fb fb fb fb fb fb fb fb fb

यह सच है कि एक द्विआधारी संपादक आपको बाइनरी में बाइट्स को संभालने देना चाहिए, लेकिन जैसा कि आप देख सकते हैं कि आधार 2 कॉम्पैक्ट अंकों को देने के लिए बहुत छोटा है।

कच्चे के रूप में बाइनरी, आधार दो नहीं

आम तौर पर बोलते हुए, फिर "बाइनरी"अंदर बाइनरी संपादक आधार दो का संदर्भ नहीं देता है, यह वास्तव में "पाठ संपादक"।
अंतर यह है कि पाठ संपादकों को टेक्स्ट दिखाने के लिए डिज़ाइन किया गया है, इसलिए गैर प्रिंटिंग वर्ण, नई लाइनें, नियंत्रण वर्ण, अमान्य यूटीएफ -8 कोड इकाइयां और इतने पर सुरक्षित रूप से संभालने की आवश्यकता नहीं है।
फ़ाइल खोलने और इसे तुरंत सहेजने का केवल कार्य इसे बदल सकता है (संपादक आंतरिक रूपांतरणों, असफलताओं के कारण)।

दूसरी तरफ बाइनरी संपादक, डेटा को किसी भी अर्थपूर्ण को देने की कोशिश न करें और उपयोगकर्ता को इसे बाइट्स / बिट्स / शब्दों की स्ट्रीम के रूप में सुरक्षित रूप से संभालने दें।

हेक्साडेसिमल संपादक

सही बाइनरी संपादक प्रत्येक संभावित बाइनरी प्रारूप को जानता है और आपको इसे संपादित करने देता है, लेकिन चूंकि हर कोई अपना बाइनरी प्रारूप बना सकता है और जब से वे बदलते हैं अक्सर, सभी प्रारूपों का समर्थन करने के लिए व्यर्थ है।
एक संपादक जो सबसे अच्छा काम कर सकता है वह स्वयं बाइट्स दिखा रहा है, और पहले से ही चर्चा की गई है, आधार 16 के गुण, हेक्साडेसिमल अंक बहुत आसान हैं!

इसके अलावा एक अनुभवी उपयोगकर्ता मानसिक रूप से हेन को हेक्स में अनुवाद कर सकता है क्योंकि वे इसे पढ़ते हैं।
हेक्स में लिखे गए बाइट से थोड़ा सा सेट करना / प्राप्त करना वास्तव में बिन में लिखे गए बाइट की तुलना में बिल्कुल अधिक प्रयास नहीं करता है।
ईमानदार होने के लिए मुझे हेक्स मिला आसान पढ़ने के लिए बाइनरी से।


55
2018-03-22 17:26



अंतर दिखाने वाले अच्छे उदाहरण। असल में उन्हें तरफ देखकर हेक्स बहुत अच्छा दिखता है - DrZoo
@DrZoo जब तक आप बिट-फ़ील्ड से निपट नहीं रहे हैं, इस मामले में बाइनरी प्रतिनिधित्व बहुत अच्छा है! en.wikipedia.org/wiki/Bit_field। - misha256
misha256: ईमानदारी से, जब मैं हेक्स को देखता हूं - मुझे बाइनरी दिखाई देती है। मैंने "एफ" पढ़ा लेकिन मेरा दिमाग तुरंत "1111" कहता है। यह कॉम्पैक्ट रूप में मैट्रिक्स को देखने जैसा है। :) - tdrury
"कच्चे के रूप में बाइनरी, आधार दो नहीं" पर जोर देने के लिए +1 - Kelvin
@tdrury अच्छा बिंदु, मुझे लगता है कि थोड़ी देर बाद आप इसे "देखने" शुरू कर देते हैं कि आपको यह देखने के लिए क्या देखना है कि यह कैसे व्यक्त किया गया है। हाहा, हाँ, मैट्रिक्स! मुझे उस लड़के के बारे में याद दिलाता है जो मैं स्कूल गया था, जिसने खुशी से हेक्स या दशमलव में मशीन भाषा को कोड किया था और दोनों के बीच स्वतंत्र रूप से परिवर्तित हो सकता था। वह दिल से सभी ऑप-कोड जानता था और बिट-फ़ील्ड और अन्य पैक किए गए डेटा संरचनाओं को देखा जैसे कि यह उनकी पहली भाषा थी। वे कमोडोर 64 दिनों के दिमाग में थे (बहुत ही सरल दिन), लेकिन फिर भी एक प्रभावशाली प्रतिभा। - misha256


हेक्स संपादकों को बाइनरी संपादकों क्यों कहा जाता है?

सारांश:

हेक्स संपादक का उपयोग हेक्साडेसिमल प्रारूप में बाइनरी सामग्री को प्रदर्शित करके और इन हेक्साडेसिमल संख्याओं को बदलने की इजाजत देकर बाइनरी फ़ाइल को सीधे संपादित करने के लिए किया जाता है।

टिप्पणियाँ:

  • हेक्स संपादक डेटा की व्याख्या करने का प्रयास करने वाले अन्य प्रोग्रामों की बजाय फ़ाइल की कच्ची डेटा सामग्री के संपादन की अनुमति देता है।

  • हेक्स संपादकों को बाइनरी संपादकों या बाइट संपादकों भी कहा जाता है।

  • उन्हें बाइनरी एडिटर्स या बाइट एडिटर्स को कॉल करना वास्तव में सही नहीं है क्योंकि संपादक हेक्साडेसिमल संख्या बदल रहे हैं और द्विआधारी संख्या या बाइट्स नहीं हैं (बेशक अंतर्निहित द्विआधारी संख्याएं और बाइट्स बदल जाएंगी यदि फ़ाइल सहेजी जाती है)

हम बाइनरी उपयोग हेक्साडेसिमल क्यों संपादित करते हैं?

डेटा को हेक्साडेसिमल रूप में प्रदर्शित करके और हेक्साडेसिमल मानों को बदलकर बाइनरी फ़ाइलों को सीधे देखना या संपादित करना आसान है।

  • बाइनरी संख्याओं का प्रतिनिधित्व करने का एक सुविधाजनक तरीका हेक्साडेसिमल का उपयोग कर रहा है।

  • ऐतिहासिक रूप से कंप्यूटरों को असेंबली भाषा में प्रोग्राम किया गया था, जहां कोड प्रोसेसर निर्देशों और मेटा-स्टेटमेंट्स (जिसे निर्देश, छद्म निर्देश और छद्म-ओप), टिप्पणियों और डेटा के रूप में जाना जाता था, का उपयोग करके लिखा गया था।

    • कोड को एक असेंबलर का उपयोग करके बाइनरी में अनुवादित किया जाता है। बाइनरी कोड को तब प्रक्रिया में लोड किया जा सकता है और निष्पादित किया जा सकता है।

    • स्रोत कोड के बिना प्रोग्राम को सीधे एक संपादक का उपयोग करना आसान है जो प्रोग्राम को बाइनरी के बजाय हेक्साडेसिमल में प्रदर्शित करता है।

  • हेक्साडेसिमल में परिवर्तित होने पर बाइनरी कोड मनुष्यों द्वारा अधिक आसानी से पठनीय होता है।

    उदाहरण के लिए, किसी और को याद रखने या पढ़ने के लिए संख्या की कौन सी जोड़ी आसान है?

    10110000 01100001
    

    या

    B0 61
    
  • प्रत्येक हेक्साडेसिमल अंक चार बाइनरी अंक (बिट्स) का प्रतिनिधित्व करता है। एक हेक्साडेसिमल अंक एक नींबू का प्रतिनिधित्व करता है, जो एक ऑक्टेट या बाइट (8 बिट्स) का आधा होता है।

    उदाहरण के लिए, बाइट मान 0 से 255 (दशमलव) तक हो सकते हैं, लेकिन अधिक आसानी से श्रेणी 00 में एफएफ में दो हेक्साडेसिमल अंकों के रूप में प्रदर्शित किया जा सकता है।

  • हेक्साडेसिमल का प्रयोग आमतौर पर कंप्यूटर मेमोरी पतों का प्रतिनिधित्व करने के लिए किया जाता है।


14
2018-03-22 15:43



यह भी ध्यान रखें कि, जबकि बेस 64 को याद रखने के लिए और भी आसान लग सकता है, हम हेक्स तक चिपके रहते हैं क्योंकि इसमें 2 वर्ण ⇒ 1 बाइट मैपिंग की अच्छी संपत्ति है। - PythonNut


कई प्रोग्रामिंग भाषा और ऑपरेटिंग सिस्टम सम्मेलनों के अनुसार, दो प्रकार की फाइलें हैं:

  • टेक्स्ट फाइलें जो टेक्स्ट लाइनों के सूट से बने होते हैं, प्रत्येक पंक्ति प्रिंट करने योग्य पात्रों (कुछ नियंत्रण वर्णों सहित) के सूट से बना होती है और लाइनों के अंत तक समाप्त होती है
  • बाइनरी फाइलें जिनमें बाइट्स का मनमाना सूट होता है जिसमें नल बाइट शामिल है जिसे टेक्स्ट फ़ाइल में प्रतिबंधित किया गया है।

टेक्स्ट एडिटर्स टेक्स्ट फाइलें खोलने में सक्षम होते हैं जबकि द्विआधारी संपादकों के पास उनकी फाइलों की तरह कोई प्रतिबंध नहीं होता है।

तथ्य बाइनरी संपादक अक्सर प्रतिनिधित्व करते हैं और हेक्साडेसिमल में डेटा दर्ज करने की अनुमति देता है केवल एक सुविधा है (वे अक्सर असीसी अक्षरों को प्रतिस्थापित करते हैं और अनुमति देते हैं), केवल शुद्ध बाइनरी में डेटा प्रदर्शित करने से डेटा कम सुगम हो जाएगा।

एक लोकप्रिय बाइनरी संपादक का नाम है HexEdit

enter image description here

यह सही ढंग से एक द्विआधारी संपादक और एक हेक्स संपादक दोनों पर विचार करता है:

enter image description here

हेक्स में डेटा प्रदर्शित न करने का एक विकल्प भी है, लेकिन केवल पाठ

enter image description here


8
2018-03-22 16:02





महान बहुमत पर फ़ाइलें, यदि सभी कंप्यूटर आज 8-बिट हैं बाइट्स। यह आम तौर पर एक सारणी है जब एक फ़ाइल को सीधे संपादित करते समय काम कर रहा है।

बेशक, डेटा के व्यक्तिगत बिट्स को वास्तव में संपादित करने का अवसर होता है, लेकिन अक्सर नहीं। सामान्य बिट-स्तरीय संचालन जैसे बिट 7 सेट करना हेक्स के साथ करना आसान है - 1000 0000base2 = 80base16, इसलिए यदि हेक्स मान 80 वर्ष से कम हैbase2 बिट 7 स्पष्ट है और 8 जोड़ रहा हैbase16 इसे स्थापित करेगा।

अन्य कारणों से हेक्स इस प्रकार की गतिविधि से अधिक दृढ़ता से जुड़ा हुआ है:

  • ज्ञात मूल्यों के लिए दृष्टि से स्कैनिंग करते समय हेक्स मानों को पहचानना आसान होता है। उदाहरण के लिए, 20base16 = 32 जो एक ASCII अंतरिक्ष है, लेकिन एक ही मूल्य 0010 0000 हैbase2 अन्य डंप किए गए मूल्यों की बाढ़ के बीच पहचानना इतना आसान नहीं है।

  • पुराने सिस्टम जहां आपको वास्तव में नियमित आधार पर इसका उपयोग करने की आवश्यकता होती है, में सीमित स्क्रीन स्पेस (उदा। 40 कॉलम) हो सकते हैं। ऐप्पल आईई रोम मॉनिटर एक शानदार उदाहरण है, यह 40-कॉलम एकीकृत वीडियो में हेक्स में मेमोरी को डंप कर सकता है, और 80x24 स्क्रीन पर बाइनरी के मानों को विस्तारित करने से आपको जल्दी से कमरे से बाहर निकाल दिया जाएगा। इन पुराने सिस्टमों के लिए, इनपुट ASCII को वापस सही मानों में परिवर्तित करने के लिए दिनचर्या लिखना भी आसान है। महत्वपूर्ण जहां 4K रैम को बहुत मेमोरी माना जाता था और सिस्टम में केवल इतना रोम हो सकता था।

  • शब्द "हेक्स" बेहतर लगता है, छोटा है, और टाइप करना आसान है।


5
2018-03-22 16:12





जब लोग हेक्स का उपयोग कर रहे होते हैं, तो वे आम तौर पर द्विआधारी में सोचते हैं और हेक्स का उपयोग शॉर्टेंड नोटेशन के रूप में करते हैं।

सोलह 2 की शक्ति है। आठ भी दो की शक्ति है। तो बाइनरी के शॉर्टेंड नोटेशन के लिए 16 और 8 का उपयोग किया गया है। बाइनरी के बीच मैन्युअल रूपांतरण, और दो की कुछ शक्ति का आधार आसान है। लक्ष्य आधार द्वारा इंगित आकार में बस बिट्स को एक साथ समूहित करें, और उसके बाद संबंधित अंक का उपयोग करें।

बेस 8, ऑक्टल, कई शुरुआती कंप्यूटरों के लिए लोकप्रिय था, यही कारण है कि यूनिक्स में एक है od ऑक्टल डंप कमांड। प्रत्येक ऑक्टल अंक एक समय में 3 बिट्स का प्रतिनिधित्व करता है। लेकिन 8 बिट बाइट्स के आधार पर मशीनों के लिए यह असुविधाजनक था।

हेक्साडेसिमल, लघु, आधार 16 के लिए हेक्स प्रति अंक 4 बिट्स का प्रतिनिधित्व करता है। इन दिनों यह आमतौर पर अधिक उपयोग किया जाने वाला प्रतिनिधित्व है।


5
2018-03-22 15:15