Bitmap to Hex mit Gimp

Gast #3719081
Lesenswert?

Ich wurde gebeten einen neuen Beitrag zu eröffnen, weil der alte
Beitrag "Bitmap zu Hex"
schon ne weile her ist.

Nun habe ich also versucht ein kleines Bild 34*50 Pixel in einer C datei 
zu speichern. -> Hat funktioniert, nur speichert Gimp das ganze (so weit 
ich es sehe) als String ab.

Im Internet stand dann dran, dass ein String auch eine Art Array sei. 
Also habe ich mal versucht diese Angaben zu deuten.

Hier mal der Anfang aus der erstellten C datei von Gimp:

unsigned char   pixel_data[34  50  2 + 1] = {
  34, 50, 2,
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\336\37 
7"
  "\336\377\275\377\234\377{\367[\367\32\357\32\357\331\346\230\336x\336\3 
30"
...};

nun zu meiner bestimmt falschen Deutung:

\ = Anfang von einem neuen zusammenhängenden Zeichensatz ?

3 = erstes Zeichen das als ASCII "51" gelesen wird ?

7 = zweites Zeichen ASCII "55" ?

7= drittes ebenfalls 55 ?

und dann jedes dieser Zeichen sozusagen als 1 Byte interpretiert wird?

im Anhang das ganze Ding :/
Angehängte Dateien:
Moderator Persönliche Seite #3719186
Lesenswert?

Kauf Dir ein C-Buch. Bis Du sämtliche Fragen, die Du noch stellen wirst, 
um endlich diesen String in "Hex" zu verwandeln, befriedigend 
beantwortet bekommen und auch verstanden hast, hast Du längst das C-Buch 
durch.

Du willst nämlich in Wirklichkeit gar keine Hex-Strings. Dein Gerät, wo 
Du das Bild schlussendlich darstellen willst, versteht nämlich überhaupt 
keine Hex-Strings, sondern muss mit binären Daten gefüttert werden. 
Hex-Strings sind für Menschen, nicht für Geräte.
Gast #3719195
Lesenswert?

ja kann den Beitrag auch anders nennen... geht doch nur um die Werte. 
Oktal passt doch auch. Nur die Buchstaben sagen mir nichts. Ebenso wenn 
ich nach String c# suche und den operator oder was auch immer das ist 
"\".
Gast #3719238
Lesenswert?

Wie dummy bereits erklärt hat und sonst noch zum nachlesen:

http://de.wikipedia.org/wiki/Escape-Sequenz

da steht es in der Tabelle -> "\ooo" wird als Oktalwert gedeutet.

Dann gibt es weitere Kombinationsmöglichkeiten für hex->Tabelle.
Aber die fangen alle mit einem "\u..." oder "\x..." an.

Und die man ascii ist perfekt wenn man die Werte gleich ablesen will.

Aber das klärt immer noch nicht die Sachen

\346q\325n\

\377 =   3 * 8^2 + 7 * 8^1 + 7 * 8^0
     =   192     +    56   +  7
     =   255
wie bereits geschrieben

aber

\346q = ?
Moderator Persönliche Seite #3719263
Lesenswert?

nur probleme schrieb:
> \346q = ?

Nochmal: man ascii

Da findest Du den Wert für den Buchstaben q in Hex, oktal, dezimal.

\346q ist dasselbe wie \346\161 im String. Der Autor wollte beim Output 
lediglich ein paar Bytes sparen.

Aber was soll das???

Willst Du den String jetzt mit einem weiteren C-Programm parsen oder was 
sollen Deine Fragen? Dein Bild ist bereits im C-String kodiert und Du 
kannst die Daten bereits im Programm nutzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren