Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » 7Bit in 8Bit umwandeln / PDU "entpacken"

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.09.2005, 12:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
bin grade dabei ne Handysoftware zu schreiben und hänge momentan an folgendem Problem:

Der Text wird im PDU mode (also "binärmodus" ums grob zu sagen) als Septets übertragen

Bsp:

004D006F006E006F00D500F300F400F600F200F8

folgendes Problem: meine 7BitTo8Bit-Routine arbeitet zwar korrekt, nur scheint nun das ein Widestring zu sein der rauskommt. Nur: wenn ich den obigen in 8bit umwandle und dann in nen widestring verfrachte, kommt nur müll raus und nicht "MonoÕóôöòø"

Wahrscheinlich fehlt mir die Methode UCS2-Zeichensatz in Latin umzuwandeln. Hat da jemand was in der Hinsicht? hab nichts wirklich aufschlussreiches gefunden.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.09.2005, 13:09 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hmm lol mir gehts immer so das ich erst wenn ich gepostet habe mir die lösung einfällt: Also:

ich darf den string nur von 7bit in 8bit umwandeln wenn er auch 7bit ist wenn jedoch ucs2 (16bit) charset definiert ist dann darf ich ihn natürlich nicht umwandeln sondern muss ihn direkt von Wide nach Ansi umwandeln Jedenfalls geht es nun:


C++:
CStringW HexStr2WStr(CString strHex)
{
  CStringW strRet;
  union CHAR {
    wchar_t wchar;
    char tchar[2];
  };
  CHAR temp;

  for(int x = 0; x < strHex.GetLength(); x+=4)
  {
    temp.tchar[1] = (unsigned char)strtol(strHex.Mid(x,2), NULL, 16);
    temp.tchar[0] = (unsigned char)strtol(strHex.Mid(x+2,2), NULL, 16);
    strRet += temp.wchar;
  }
  return strRet;
}



wandelt z.b den String

004D006F006E006F00D500F300F400F600F200F8

wie gesagt in

MonoÕóôöòø

um
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: