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 :/
>nun zu meiner bestimmt falschen Deutung:
Sie ist falsch.
\377 ist ein einziges Byte in octaler Schreibweise.
Hier also 255.
sieht man das an diesem "\" ? will nur versuchen bisschen was zu lernen =)
da sind nämlich auch noch andere sachen drin :/ z.B. \336U \367[ \367|\367\\\367
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.
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 "\".
>Ebenso wenn ich nach String c# suche und den operator oder was auch >immer das ist "\". Such nach escape characters
nur probleme schrieb: > Nur die Buchstaben sagen mir nichts. Google Eingabe: man ascii 1. Treffer. Du eignest Dir durch diese Methode tröpfchenweise Halbwissen an. Das bindet eine Menge Resourcen.... nicht nur auf Deiner Seite.
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 = ?
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.
>\346q = ?
\346 = 230
und q ist q ist q = 113 als Byte.
Das sind zwei Bytes. \346 ist eins und 'q' ist eins.
Raffst du das jetzt?
dummy schrieb: > Raffst du das jetzt? Wer die Oktalschreibweise noch nicht gesehen hat, den muß man nicht so anpflaumen. Oder hast du schon alles von Geburt an gewußt?
npn schrieb: > Oder hast du schon alles von Geburt an gewußt? Geboren wird man heute binär oder hex, octal ist nicht mehr üblich. Georg
Georg schrieb: > Geboren wird man heute binär oder hex, octal ist nicht mehr üblich. Okay, iss'n Argument :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.