Bit-Rechnen

Gast #11498
Hallo zusammen,

ich hab da ein Probleme, bei dem Ihr mir hoffentlich auf die Sprünge 
helft...

Ich muss aus einem String (char[30]) die Zeichen zuersteinmal in 8-Bit 
umwandeln, dass ich also anstatt Buchstaben Hexzahlen im String stehen 
hab. Und dann muss ich die ganzen Dinger auch noch in 7-Bit verpacken 
und aneinander-reihen (in 8-bit)
Na ja, toll erklärt war das nicht ;-)

Wer den Zweck wissen möchte oder nicht alles verstanden ht, kann ja mal 
versuchen, den SMS-Versand per PDU zu verstehen...

Danke schon mal!
Steffen
Gast #11499
Hi,

erinnert ein wenig an IntelHex.
In C kannst du mit atoi ein Zeichen in den Ascii-Wert umwandeln. Den 
DezWert musst du dann nur noch nach Hex wandeln - sollte doch eigentlich 
nicht so schwer sein.
Schau dir doch mal einen Quellcode von einem IntelHex (oder 
MotorolaHex)-Konverter an (google)....

Bis dann,
Ingo.
Gast #11500
nee, is net ganz ihex. eher gar nicht... :-)

allerdings machts auch grad nicht sehr viel sinn:

du willst einen buchstaben in hex umwandeln? also quasi, dass er durch 2 
zeichen (00 - FF) dargestellt wird? oder einfach nur, dass du zu dem 
buchstaben den ascii code hast?
Gast #11502
So würde ich das machen:

void char2hex(unsigned char in, unsigned char* out)
{
   unsigned char b1 = in&0x0F;
   unsigned char b2 = in>>4;
   out[0] = nibble2hex(b1);
   out[1] = nibble2hex(b2);
}

unsigned char nibble2hex(unsigned char b)
{
   return (b<=9)?(b+'0'):(b+'a');
}

ohne Garantie, da nicht getestet...
Gast #11503
hä???

die buchstaben sind doch schon im asci code gespeichert? das macht doch 
keinen sinn...

unsigned char x = 'a';
printf("buchstabe %c ist 0x%x in asci",x,x);

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.