Endianness'i Değiştir
Girdi (hex)
Ters çevrilmiş çıktı
Teknik ayrıntılar
Endianness Değiştirme Aracı Nasıl Çalışır
Araç Ne Yapar
Endianness Değiştirme aracı, yapılandırılabilir bir kelime boyutu (2, 4 veya 8 bayt) içinde onaltılık bir girdinin bayt sırasını tersine çevirir. Onaltılık olarak saklanan sabit genişlikli tamsayıların little-endian ve big-endian temsilleri arasında dönüştürme için tasarlanmıştır; bu, ikili dosya biçimleri, ağ protokolleri veya bayt sırası konusunda anlaşamayan düşük seviye hata ayıklama araçlarıyla çalışırken sıkça ihtiyaç duyulan bir işlemdir.
Yaygın Geliştirici Kullanım Senaryoları
Tersine mühendisler, mimariler arasında değerleri karşılaştırabilmek için x86 veya ARM (little-endian) ve PowerPC veya MIPS (tarihsel olarak big-endian) kaynaklı hex dump'larını normalize eder. Ağ mühendisleri, paket yakalamalarına gömmeden önce host-byte-order tamsayılarını ağ bayt sırasına (her zaman big-endian) dönüştürür. Gömülü geliştiriciler, flash'ta saklanan yapıları analiz araçlarının beklediği biçime uydurmak için baytları yeniden hizalayarak hata ayıklar.
Veri Biçimleri, Türleri veya Varyantlar
Girdi, `0x` önekiyle veya öneksiz ve keyfi boşluklarla birlikte hex kabul eder. Çıktı, açıklık için boşlukla ayrılmış küçük harfli hex baytlar olarak render edilir. 2, 4 ve 8 baytlık kelime boyutları sırasıyla 16, 32 ve 64 bit tamsayılara karşılık gelir. Birden fazla kelime bağımsız olarak çevrilir: 4 baytlık kelime boyutunda, 12345678 9ABCDEF0, 78 56 34 12 olur ve ardından F0 DE BC 9A gelir.
Yaygın Hatalar ve Sınır Durumları
Girdi, tam sayıda bayt (çift sayıda hex basamağı) ve tam sayıda kelime (bayt cinsinden yapılandırılmış kelime boyutuna bölünebilir) olmalıdır. Boyut uyuşmazlıkları sessizce kırpmak yerine hata döndürür. Ağ bayt sırası her zaman big-endian'dır; x86 / ARM ise little-endian kullanır — wire-format tamsayıları okurken veya yazarken baytları değiştirin.
Bu Aracı Ne Zaman Kullanmalı, Ne Zaman Kod Yazmalı
İkili dump'ları okurken veya hata ayıklarken tek seferlik dönüşümler için tarayıcı aracını kullanın. Kod tarafında, JavaScript'te açık `littleEndian` bayraklarıyla `DataView`, Python'da `int.from_bytes` için `byteorder='little'|'big'`, Go'da `binary.LittleEndian.Uint32` veya C'de `ntohl` / `htonl` tercih edin — bunlar niyeti daha net ifade eder ve hex üzerinden gidip gelmeyi önler.