سؤال لماذا المحررين ستدعى المحرر ثنائي؟


الهيكس والثنائي هما قاعدتان مختلفتان. الهيكس ، حسب فهمي ، هو ببساطة أسهل استخدام وأكثر ملاءمة إصدار ثنائي.

ومع ذلك ، غالبا ما أسمع أن المحررين عرافة هي المحررين الثنائي. إذا كنت تبحث عن "محرر ثنائي" على Google ، فستحصل على المحررين السميين.


80
2018-03-22 13:22


الأصل


الهيكس هو تمثيل مقروء بعض الشيء للبيانات الثنائية. - Salman A


الأجوبة:


ا محرر ثنائي يحرر ملف بينما يعامله ك a ملف ثنائي.

ملف ثنائي - ويكيبيديا

ا ملف ثنائي هو ملف كمبيوتر ليس ملف نصي.   مصطلح "ملف ثنائي" غالبا ما يستخدم كمصطلح يعني "ملف غير نصي" [وهو]   يعتقد عادة بأنها تسلسل البايتات. ... الملفات الثنائية   تحتوي عادة على وحدات البايت التي تهدف إلى أن يتم تفسيرها على أنها   شيء آخر غير أحرف النص.

ا محرر عرافة هو نوع من محرر ثنائي التي يتم تمثيل البيانات فيها عشري.

محرر الهيكس - ويكيبيديا

ا محرر عرافة (أو محرر الملفات الثنائية أو محرر البايت) هو نوع من برنامج الكمبيوتر الذي يسمح بمعالجة البيانات الثنائية الأساسية التي تشكل ملفًا للكمبيوتر. يأتي الاسم "hex" من "ست عشري": وهو تمثيل قياسي للأرقام التي تحتوي على 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 صغيرة جدًا بحيث لا يمكن إعطاء أرقام صغيرة.

ثنائي كما الخام ، وليس قاعدة اثنين

بشكل عام ، ثم "الثنائية" في محرر ثنائي لا يشير إلى قاعدة اثنين ، بل هو في الواقع معنى متناقض "محرر النص".
الفرق هو أن محرري النصوص مصممون لعرض النص ، لذلك لا يتطلب الأمر معالجة الأحرف غير المطبوعة ، والخطوط الجديدة ، وحروف التحكم ، ووحدات شفرة utf-8 غير الصالحة وما إلى ذلك.
مجرد عمل فتح ملف وحفظه على الفور يمكن أن يغيره (بسبب تحويلات المحرر الداخلية ، الفشل).

المحررون الثنائيون على الجانب الآخر ، لا تحاول إعطاء البيانات أي دلالة وترك للمستخدم التعامل معها بأمان كتيار بايت / بت / كلمات.

المحررين السداسي العشري

سيعرف المحرر الثنائي المثالي كل تنسيق ثنائي محتمل ويسمح لك بتحريره ، ولكن بما أن كل شخص يمكنه إنشاء نسق ثنائي خاص به ، في كثير من الأحيان ، من العبث محاولة دعم جميع التنسيقات.
أفضل شيء يمكن أن يفعله المحرر هو إظهار البايتات نفسها ، وبسبب الخصائص التي تمت مناقشتها بالفعل ، من قاعدة 16 ، الأرقام السداسية العشرية مفيدة جدا!

كما يمكن للمستخدم من ذوي الخبرة أن يترجم عقليا بن عرافة لأنها تقرأه.
لا يتطلب إعداد / الحصول على جزء من بايت مكتوبًا بالعشريث أي جهد أكثر من البايت المكتوب في bin.
أن أكون صادقا وجدت عرافة أسهل من ثنائي للقراءة.


55
2018-03-22 17:26



أمثلة لطيفة تظهر الفرق. في الواقع ، رؤيتهم جنباً إلى جنب يجعل العرافة تبدو أجمل بكثير - DrZoo
DrZoo إلا إذا كنت تتعامل مع حقول البتات ، في هذه الحالة فإن التمثيل الثنائي هو أجمل بكثير! en.wikipedia.org/wiki/Bit_field. - misha256
misha256: بصراحة ، عندما ننظر في عرافة - أرى الثنائي. قرأت "و" ولكن عقلي على الفور يقول "1111". انها مثل مشاهدة المصفوفة في شكل مدمج. :) - tdrury
+1 للتأكيد على "Binary as raw ، وليس الأساسيان" - Kelvin
tdrury نقطة جيدة ، افترض بعد فترة من مجرد البدء في "رؤية" ما تحتاج إلى رؤيته بغض النظر عن الطريقة التي يتم التعبير عنها. هاها ، نعم ، ماتريكس! يذكرني رجل ذهب إلى المدرسة مع الذين ترميز لغة آلة بسعادة في عشري أو عشري ويمكن أن تتحول بحرية بين الاثنين. كان يعرف كل الرموز الشفهية بالقلب ورأى حقول البتات وغيرها من هياكل البيانات المعبأة كما كانت لغته الأولى. كانت تلك الأيام 64 للعميل Commodore (أيام أبسط بكثير) ، لكنها لا تزال موهبة رائعة. - misha256


لماذا المحررين ستدعى المحرر ثنائي؟

ملخص:

يتم استخدام محرر Hex لتحرير ملف ثنائي مباشرة عن طريق عرض المحتوى الثنائي بتنسيق سداسي عشري والسماح بتغيير هذه الأرقام السداسية العشرية.

ملاحظات:

  • يسمح محررو Hex بتحرير محتويات البيانات الأولية للملف ، بدلاً من البرامج الأخرى التي تحاول تفسير البيانات.

  • المحررين عرافة كما دعا أيضا Binary Editors أو Byte Editors.

  • الاتصال بهم برامج تحرير البيانات الثنائية أو برامج تحرير النصوص غير صحيح لأن المحررين يغيرون الأرقام السداسية وليس الأرقام الثنائية أو البايتات (بالطبع سوف تتغير الأرقام الثنائية الأساسية والبايتات إذا تم حفظ الملف)

لماذا نقوم بتحرير ثنائي استخدام سداسي عشري؟

من السهل عرض أو تعديل / تعديل الملفات الثنائية مباشرة عن طريق عرض البيانات بالنموذج الست عشري وتغيير القيم السداسية العشرية.

  • طريقة واحدة ملائمة لتمثيل الأرقام الثنائية تستخدم ست عشري.

  • تاريخيا كانت مبرمجة الكمبيوترات في لغة التجميع ، حيث تم كتابة التعليمات البرمجية باستخدام تعليمات المعالج والبيانات الفوقية (المعروفة بشكل مختلف كتوجيهات ، وتعليمات زائفة و pseudo-ops) ، والتعليقات والبيانات.

    • يتم ترجمة التعليمات البرمجية إلى ثنائي باستخدام مجمّع. ثم يمكن تحميل الرمز الثنائي في عملية وتنفيذها.

    • بدون التعليمات البرمجية المصدر من السهل تعديل البرنامج مباشرة باستخدام محرر يعرض البرنامج بالنظام الست عشري بدلاً من ثنائي.

  • الشفرة الثنائية هي أكثر سهولة للقراءة من قبل البشر عند تحويلها إلى ست عشري.

    على سبيل المثال ، أي زوج من الأرقام يسهل حفظه أو قراءته لشخص آخر؟

    10110000 01100001
    

    أو

    B0 61
    
  • يمثل كل رقم سداسي عشري أربعة أرقام ثنائية (بت). يمثل رقم سداسي عشري واحد nibble ، وهو نصف ثماني بتات أو بايت (8 بت).

    على سبيل المثال ، يمكن أن تتراوح قيم البايتات من 0 إلى 255 (عشري) ، ولكن قد تكون أكثر ملاءمة في شكل رقمين سداسيين عشريين في النطاق من 00 إلى FF.

  • كما يتم استخدام سداسي عشري لتمثيل عناوين ذاكرة الكمبيوتر.


14
2018-03-22 15:43



لاحظ أيضًا أنه في حين أن Base 64 قد يبدو أكثر سهولة في الحفظ ، فإننا نلتزم بـ Hex نظرًا لأنه يمتلك خاصية لطيفة لرسم 2 حرفًا ⇒ 1 بايت. - PythonNut


وفقًا للعديد من لغات البرمجة وأنظمة التشغيل ، يوجد نوعان من الملفات:

  • ملفات نصية مصنوعة من مجموعة من خطوط النص ، كل سطر يتكون من مجموعة من الأحرف القابلة للطباعة (بما في ذلك بعض أحرف التحكم) ويتم إنهاؤها بنهاية الأسطر
  • الملفات الثنائية التي تحتوي على مجموعة عشوائية من وحدات البايت بما في ذلك بايت خالية ممنوع في ملف نصي.

يمكن لمحرري النصوص فتح ملفات نصية بينما لا يكون لدى برامج التحرير الثنائية أي قيود على نوع الملفات التي يقومون بمعالجتها.

الحقيقة أن محرري البيانات الثنائية غالباً ما يمثلون ويسمحون بإدخال البيانات بالنظام الست عشري هو مجرد راحة (غالباً ما يعرضون ويسمحوا باستبدال أحرف ascii أيضاً) ، فقط عرض البيانات في ثنائي نقي من شأنه أن يجعل البيانات أقل وضوحاً.

تتم تسمية محرر ثنائي شهير HexEdit.

enter image description here

يعتبر نفسه عنصرا محررا ثنائيا ومحرر سداسي عشري:

enter image description here

هناك حتى خيار عدم عرض البيانات في ست عشري ولكن فقط النص

enter image description here


8
2018-03-22 16:02





ملفات على الغالبية العظمى ، إن وجدت ، من أجهزة الكمبيوتر اليوم هي 8 بت بايت. هذا عادة ما يعمل التجريد مع تحرير الملف مباشرة.

بطبيعة الحال ، هناك فرصة لتحرير بتات فردية من البيانات ، ولكن ليس في كثير من الأحيان. إن العمليات الشائعة على مستوى البت مثل إعداد bit 7 من السهل القيام بها باستخدام hex على أية حال - 1000 0000base2 = 80base16، لذلك إذا كانت القيمة السداسية أقل من 80base2 بت 7 واضح وإضافة 8base16 سوف يحددها.

الأسباب الأخرى وراء ارتباط hex بقوة أكبر بهذا النوع من النشاط:

  • من السهل التعرف على قيم Hex عند المسح الضوئي للقيم المعروفة. على سبيل المثال ، 20base16 = 32 وهو مساحة ASCII ، لكن نفس القيمة 0010 0000base2 ليس من السهل التعرف عليه على هذا النحو من خلال سيل من القيم الأخرى المغرقة.

  • ربما كانت الأنظمة القديمة التي تحتاج فعليًا لاستخدامها بشكل منتظم تحتوي على مساحة شاشة محدودة (مثل 40 عمودًا). وتعد شاشة "آبل IIe ROM" مثالاً رائعًا ، حيث يمكنها تفريغ الذاكرة في ست عشري إلى الفيديو المتكامل المكون من 40 عمودًا ، كما أن توسيع القيم إلى ثنائي على شاشة 80 × 24 سيؤدي إلى خروجك من الغرفة بسرعة. بالنسبة لهذه الأنظمة القديمة ، من السهل أيضًا كتابة إجراءات لتحويل ASCII المدخلة إلى القيم الصحيحة. هام حيث تم اعتبار 4K من ذاكرة الوصول العشوائي الكثير من الذاكرة وأنظمة قد احتوت على ذاكرة ROM فقط.

  • كلمة "ست عشري" تبدو أفضل ، أقصر ، وأسهل في الكتابة.


5
2018-03-22 16:12





عندما يستخدم الناس عرافة ، عادة ما يفكرون في الثنائي ويستخدمون السداسي كعلامة اختزال.

ستة عشر هي قوة 2. ثمانية هي أيضا قوة من اثنين. لذلك تم استخدام 16 و 8 لتدوين اختزال ثنائي. تحويل يدوي بين ثنائي ، وقاعدة من بعض القوة اثنين من السهل. فقط قم بتجميع البتات معاً في الحجم المشار إليه من قبل القاعدة الهدف ، ثم استخدم الرقم المناظر.

قاعدة 8 ، ثماني ، كانت شائعة للعديد من أجهزة الكمبيوتر المبكرة ، وهذا هو السبب في أن نظام Unix يحتوي على od أمر تفريغ الثماني. يمثل كل رقم ثماني 3 بتات في كل مرة. ولكن كان غير مريح للآلات على أساس 8 بايت بايت.

سداسي عشري ، عشري قصير ، قاعدة 16 ، يمثل 4 بت لكل رقم. هذا هو تمثيل أكثر شيوعا في هذه الأيام.


5
2018-03-22 15:15





يشير ذلك إلى كيفية تخزين أجهزة الكمبيوتر للمعلومات.

على المستوى الأساسي استخدام أجهزة الكمبيوتر 0و 1 لتمثيل البيانات ، تسمى هذه البتات. ثماني بتات مجمعة معاً هي بايت. السداسي عشر هو الأساس 16 مما يعني أنه يحتوي على 16 حرفًا (0-9، A-F). لتخزين حرف يستغرق 8 بايت أو 1 بايت.

لذلك رقم ست عشري 13 (19 في العشرية) هو نفسه 0001 0011 في ثنائي. من السهل قراءة سداسي عشرية من ثنائي.


3
2018-03-22 13:37





أقدم محرري الثنائيات الذين أعرفهم كانوا أيضا مفككين. وهذا يعني أن قدرة التحرير كانت نتيجة ثانوية لتفكيك وتثبيت ملف ثنائي قابل للتنفيذ.

وخير مثال على هذا التطبيق هو Hiew.

يتم غالباً تمثيل التعليمات البرمجية المجمعة (إرشادات المجمّع) كسلاسل سداسية عشرية. أعتقد أن هذا هو المكان الذي ينشأ فيه ارتباك حديث. الناس لا يعرفون ، ما الذي يتعاملون معه.


2
2018-03-24 00:28





ويطلق على أي ملف تم تجميعه وتشغيله (مثل somefile.exe ، على سبيل المثال ، على Windows) اسم "ثنائي" ، حيث يتم تجميعه في شفرة على مستوى الماكينة تكون صحيحة على المستوى الثنائي ليتم تنفيذها بواسطة المعالج مباشرة.

لذا فأنت تقوم بتحرير ملف ثنائي. يحدث فقط ليتم عرضها في عرافة لأن عرافة مفيدة للبشر.


2
2018-03-25 18:13



نعم ، ولكن العديد من ملفات البيانات ثنائية كذلك. فهي توفر المساحة والترجمة عند قراءتها من خلال التطبيق المناسب. أيضًا ، حتى الملفات النصية غالبًا ما تكون مشفرة أو مضغوطة مما يجعلها ملفات ثنائية. - Joe