Sonderzeichen in Lokale Variablen Fenster bei Unicode
Es gibt beim Debuggen ein Phänomen beim Anzeigen eines Unicodezeichens (Umlaut), das ich nicht nachvollziehen kann:
Code:
Dargestellt wird es im C++ Builder 10.3 unter Lokale Variablen wie folgt beim Debuggen:
wchar_t cd = L'ä';
Code:
Warum wird hinter dem 'ä' noch ein 'Yi Radical Che'-Zeichen (꓃ (U+A4C3)) angezeigt?
cd L'ä꓃' 228U (0x00E4)
Ich weiß, dass das 'ä' aus 2 Bytes zusammengesetzt ist, aber warum diese Darstellung? Bei den anderen Umlauten wird auch ein anderes Zeichen daneben noch angezeigt. Das 'a' zum Beispiel wird ja auch wie folgt angezeigt:
Code:
Ist das ein Bug?
cd L'a' 97U (0x0061)
|
AW: Sonderzeichen in Lokale Variablen Fenster bei Unicode
228U (0x00E4) das Ä ... also 2 Byte = ein WideChar
Könnte es sein, dass hier kein abschließendes #0 enthalten ist? Und zufällig liegen "irgendwelche" 2 Bytes gefolgt von 2 Nullen dahinter im Speicher? '꓃' sind 8 Chars im String (HTML-Kodierung). |
AW: Sonderzeichen in Lokale Variablen Fenster bei Unicode
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hänge am Besten nochmal einen Screenshot an, da sieht man es besser, es wird als
'ä꓃' angezeigt. Wie auch immer, das scheint ein Bug zu sein, oder? Eine abschließende '\0' müsste ja nicht vorhanden sein, da ich nur mit einem wchar_t arbeite, nicht mit einem String. |
AW: Sonderzeichen in Lokale Variablen Fenster bei Unicode
Moment! Ist nicht ein wchar_t ein Zeiger auf einen null terminieren String?
|
AW: Sonderzeichen in Lokale Variablen Fenster bei Unicode
Jo, drum steht da auch ein L vor'm "wide-character literal"
Delphi-Strings (LongStrings) nutzen sie zwar selber nicht, aber sie haben dennoch hinten implizit zwei #0 dran, als Kompatibilität, um "einfach" nach PChar casten zu können. In C/C++ muß man das öfters selber machen (abgesehn von z.B. dem BSTR aka WideString in Delphi), genauso wie in Delphi, wenn man dort manuell mit PChar und CharArrays rumspielt (ohne die Automatiken zu verwenden). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz