क्या हेक्सडंप अपने सिस्टम की समाप्ति का सम्मान करता है?


23

जब मैं इन कमांड को चलाता हूं तो मेरी मशीन पर मुझे निम्न आउटपुट मिलते हैं:

$ echo foos > myfile
$ hexdump myfile
6f66 736f 000a

हेक्सडंप से उत्पादन थोड़ा-सा है। इसका मतलब यह है कि मेरी मशीन थोड़ा-सा एंडियन है, या क्या हेक्सडंप हमेशा छोटे-एंडियन प्रारूप का उपयोग करता है?

जवाबों:


33

पारंपरिक बीएसडी hexdumpउपयोगिता प्लेटफ़ॉर्म की एंडियननेस का उपयोग करती है, इसलिए आपके द्वारा देखे जाने वाले आउटपुट का मतलब है कि आपकी मशीन थोड़ा-सा एंडियन है।

प्लेटफ़ॉर्म की समाप्ति के बावजूद लगातार बाइट-बाइट आउटपुट प्राप्त करने के लिए hexdump -C(या od -t x1) का उपयोग करें ।


5

मैनपेज से:

 -x      Two-byte hexadecimal display.  Display the input offset in hexa‐
         decimal, followed by eight, space separated, four column, zero-
         filled, two-byte quantities of input data, in hexadecimal, per
         line.

...

 If no format strings are specified, the default display is equivalent to
 specifying the -x option.

आपका आउटपुट लिटिल-एंडियन (कम से कम महत्वपूर्ण बाइट पहले) है, जो कि x86 और x86_64 आर्किटेक्चर का एंडियननेस भी है, जिसका आप उपयोग कर रहे हैं।


3
क्या यह सिर्फ मेरे लिए है, या मैन पेज का कहीं भी उल्लेख नहीं है कि यह "दो-बाइट मात्रा" को पूर्णांक के रूप में मान रहा है? मुझे लगा कि मैं पागल गोलियां ले रहा हूं ...
— करने वाले

@slashingweapon "इनपुट डेटा के दो-बाइट मात्रा" है uint16_t पूर्णांक।
— रुस्लान

"दो बाइट्स" एक छोटे से एंडियन सिस्टम पर uint16_t के समान नहीं है।
— slashingweapon
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.