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


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.