mikrocontroller.net

Forum: PC-Programmierung Hex wert als gif an Webbrowser schicken


Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich hab da mal ne allgemeine Frage, zu der ich die Antwort hier schon 
irgendwo gelesen habe, aber sie wirklich nciht mehr finde, zum Thema 
Gif-Bild.
Wenn mir (ich bin in diesem Fall ein Webserver) der Browser eine Anfrage 
auf ein Gif Bild schickt z.B. "GET /smile.gif..." und ich ihm in etwa 
eine solche Antwort:
HTTP/1.0 200 Document follows
Server: ich
Content-Type: image/gif
0x00 0x0f ...
schicken würde, wobei die Hexwerte aus der Umsetzung aus einem normalen 
Gif-Bildes stammen, würde mich dann der Browser verstehen und mein Bild 
darstellen können?
Wenn nicht, was muss ich anders machen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sepp wrote:

> Wenn nicht, was muss ich anders machen?

Nun, erstens könntest du mit dem Studium der einschlägigen RFCs
für HTTP beginnen.  Die sind sowas wie ein Gesetz, daher solltest
du sie befolgen.

Darin wirst du z. B. erfahren, dass zwischen den Headern und dem
eigentlichen Dokument eine Leerzeile (mit \r\n, nicht nur \n)
sein muss.  Auch wirst du darin erfahren, welche Header Pflicht
sind und welche nicht.

HTTP-Dokumente werden normalerweise uncodiert versendet, d. h.
rein binär.  Dementsprechend müsste dein GIF-File dann auch binär
dort kommen, nicht in irgendeiner hexadezimalen Darstellung.

p.s.: Hat nichts mit GCC zu tun, daher habe ich es verschoben.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[...]HTTP-Dokumente werden normalerweise uncodiert versendet, d. h.
rein binär.  Dementsprechend müsste dein GIF-File dann auch binär
dort kommen, nicht in irgendeiner hexadezimalen Darstellung.[...]

Also könnte das schon funktionieren. Ich hab schon an ein paar Ecken 
gesehen, dass die Leute ihre Gif Bilder in Hexwerte umcodieren um dann 
"einfach" rausschicken. Mir ist nur noch nicht ganz klar, wer die 
Hexwerte richtig interpretieren muss. Entweder macht das der Browser, 
oder das  µC Prog an sich wandelt die Hexwerte in Chars und der Browser 
wandelt diese dann wieder in ein Bild. Bin mir aber sowas von garnicht 
sicher und die RFC zu HTTP hat mir da auch nicht wirklich geholfen. 
Steht da sowas wirklich drin? Wenn ja, dann hab ich da ein paarmal 
vorbeigelesen :)

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist mir nicht bekannt, dass man Binärdaten einfach als Hex verschicken 
könnte. Wenn du Glück hast findest du einen Browser, der Base64 
unterstützt. Meines Wissens nach ist das als Kodierung in HTTP erlaubt 
(bei entsprechender Kennzeichnung im Header).

Ich verstehe nur nicht genz, was das für einen Nutzen hat. Normaler 
Weise ist's einfacher den ganzen Kram binär auszugeben.

Um HTTP zu lernen ist's am einfachsten, wenn man einfach mal eine 
Kommunikation mitschneidet und dann in den RFCs und beim W3C 
nachschlägt, was da eigentlich passiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.