Hex dosya & jpeg & stream

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Hex dosya & jpeg & stream

Mesaj gönderen true_false »

Merhabalar başlık biraz garip oldu ama içinde bulunduğum durumu böyle özetliyebiliyorum
resim (jpeg veya bmp olduğunu bilmiyorum) bana hex olarak geliyor, bu resmi image veya jpeg dosya olarak nasıl gösterebilirim.
(konu hakkında fazla bilgi sahibi değilim onun için açıklama yapamadım nasıl bir yol izlemem gerekecek bunun bilgisini verirseniz karşılaştığım problemleri burdan devam ettirebilirim.)
type
Tform1 = class(Tform)
aseka

Re: Hex dosya & jpeg & stream

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:35 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Re: Hex dosya & jpeg & stream

Mesaj gönderen true_false »

evet anlaşılır değil biliyorum ama biraz daha anlaşılıkr olması için örneklendireyim.
ultraedit programını bilirsiniz.
ordan bir jpeg dosya açtığınızda text olarak

Kod: Tümünü seç

00000000h: FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 ; ÿØÿà
00000010h: AB 01 02 E0 00 10 4A 46 49 DB 00 01 01 00 00 01 ; B±ÁRÑğ$3br‚	
...
...
gibi text görüyoruz
benimde bunu yapmam veya böyle bir text veri geldiği zaman jpeg olarak görmem gerekiyor tam olarak istediğim bu.
type
Tform1 = class(Tform)
aseka

Re: Hex dosya & jpeg & stream

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:36 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Re: Hex dosya & jpeg & stream

Mesaj gönderen true_false »

şimdi sorun ilk sorduğumdan daha farklı ama anlaşılır bir hal aldı. ilk yazdığım mesajı unutulsun
dosyayı byte byte görmem gerek. kısaca
type
Tform1 = class(Tform)
aseka

Re: Hex dosya & jpeg & stream

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:37 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Re: Hex dosya & jpeg & stream

Mesaj gönderen true_false »

peki bunun tam tersini yapmaya çalıştığımız zaman ne yapmamız lazım yani elimizdeki decimal kodları bir jepege nasıl çevirebiliriz ?
type
Tform1 = class(Tform)
aseka

Re: Hex dosya & jpeg & stream

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:37 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Re: Hex dosya & jpeg & stream

Mesaj gönderen true_false »

verdiğin bilgiler için çok teşekkür ederim gerçekten hiç bilmediğim bir alanda ufkumu açtın
bilgi mahiyetinde bir kaç sorum olacak ikinci mesajımda yani jpeg dosyayı ultra edit'ten açtığımda
00000010h: AB 01 02 E0 00 10 4A 46 49 DB 00 01 01 00 00 01 ; B±ÁRÑğ$3br‚
gibi alt alta bir sürü satır gördüm yukarıda ki satırın tam olarak anlamı nedir 00000010h: nedir aradaki
AB 01 02 E0 00 10 4A 46 49 DB 00 01 01 00 00 01 hexadecimal kodlar neyi ifade ediyor? ve sonundaki B±ÁRÑğ$3br‚ bu gudik karakterde neyin nesi ? böyle gelen bir textin jpeg veya bmp veyahutta pdf olduğunu nasıl anlayabiliriz veya anlaya bilme şansımız varmdır. ama başlangıç olarak verdiğin kodlar çok işimi gördü gerçekten çok teşekkür ederim.
type
Tform1 = class(Tform)
aseka

Re: Hex dosya & jpeg & stream

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:38 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
osC++CoDeR
Üye
Mesajlar: 2
Kayıt: 16 Mar 2008 04:09

Re: Hex dosya & jpeg & stream

Mesaj gönderen osC++CoDeR »

00000010h: AB 01 02 E0 00 10 4A 46 49 DB 00 01 01 00 00 01 ; B±ÁRÑğ$3br

00000010h bu değer adresi gösterir ve decimal olarak ayarlı editörde hexadecimal olarak değiştirirsen daha anlamlı olur.

AB 01 02 E0 00 10 4A 46 49 DB 00 01 01 00 00 01 bu değerler hexadecimal data dır.

B±ÁRÑğ$3br bunlarda byte byte verilmiş hex kodların ascii karşılıklarıdır.

yukardaki satıra bakarak "±" bu karakterin hex kodunun 01 olduğu görülebilir.

Bir dosyanın ne dosyası olduğu ile ilgili bilgi dosya headerinda tanımlıdır ve genelde dosyaların ilk 100byte hex kodlarında yazılıdır.

mesela bir executable dosyayı hex editör ile açarsanır ascii karakterlerde ki ilk veri MZ dir. dosyadaki çalıştırılabilir kod bilgisi, dosyayla ilgi section bilgisi, sectionlara ait flag bilgisi, dosyanın imagebase bilgisi. kısacası bir PE dosyanın tüm özel bilgisi headerında yazılıdır.

Her dosyanın bir headerı vardır ve dosyanın türü, verisi, tipi kısaca dosyayı dosya yapan özel veriler bu blokta yazılıdır.
sineyk
Üye
Mesajlar: 4
Kayıt: 03 Oca 2008 12:51

Re: Hex dosya & jpeg & stream

Mesaj gönderen sineyk »

Bitmap dosyaları BM harfleriyle başlar. Yalnızca JPEG ve BMP dosya gelecekse ilk veri geldiğinde bu ifadeyi kontrol ederek BMP/JPG anlayabilirsiniz. Daha başka formatlarda dosyalar da gelecekse o formatların yapılarını araştırın. Gelen verini formatını anlamaya yarayacak bir şeyler eminim bulacaksınız. Gelen veriyi geçici bir dosyaya yazarak aktarım bittiğinde bu geçici dosyadan yüklemeyi deneyebilirsiniz.

--
Herhalde osC++CoDeR arkadaşın dalgınlığına gelmiş. 10h adresiyle gösterilen satırdaki hex. veri, sağ kısımdaki ASCII gösterimle uyumsuz. Muhtemelen dil ayarlarıyla ilgili bir nedenle farklı görünüyor. Yoksa ± karakterinin kodu 01 değil $F1'dir
Cevapla