Hexdump, sistemin doğruluğuna saygı duyuyor mu?


23

Makinemde bu komutları çalıştırdığımda aşağıdaki çıktıyı alıyorum:

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

Hexdump'tan çıktı çok az. Bu, makinemin küçük harfli olduğu anlamına mı geliyor yoksa hexdump her zaman küçük harfli biçimi kullanıyor mu?

Yanıtlar:


33

Geleneksel BSD hexdumpyardımcı programı, platformun teknolojisini kullanır, bu nedenle gördüğünüz çıktı makinenizin en az olduğu anlamına gelir.

Platformun türünden bağımsız olarak tutarlı bir bayt bayt çıktı almak için hexdump -C(veya od -t x1) kullanın .


5

Manpage'den:

 -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.

Çıktınız küçük-endian (ilk önce en az anlamlı bayt), bu da muhtemelen kullandığınız x86 ve x86_64 mimarilerinin endianitesidir.


3
Sadece ben miyim yoksa man sayfası hiçbir yerde "iki baytlık miktarları" tamsayılar olarak değerlendirdiğini söylemiyor mu? Ben ... deli hapları düşünce
slashingweapon

"giriş verilerinin iki baytlık miktar" @slashingweapon olan uint16_t tam sayı.
Ruslan

"İki bayt" küçük bir endian sisteminde uint16_t ile aynı değildir.
slashingweapon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.