'Null-Terminierung' bei UNICODE ? (-> '\0')
-
Hi gibt es sowas bei UNICODE auch, wenn ja welches Zeichen ?
Danke schonmal!
-
L'\0'
?!
[EDIT]Wow, bin ich 1337! Ich habe jetzt 99 posts!11111[/EDIT]
-
Das haengt ganz von der Codierung ab. In Utf-8 ist es auch das Nullbyte, in Utf-16 zwei Nullbytes, in Utf-32 vier Nullbytes.
-
Netter Weise ist L'\0'=='\0' und '\0'==0 womit auch L'\0'==0!
-
Martin Richter schrieb:
Netter Weise ist L'\0'=='\0' und '\0'==0 womit auch L'\0'==0!
Kann man das denn garantieren? Eher nicht, oder?
-
Trundle0x7e schrieb:
Martin Richter schrieb:
Netter Weise ist L'\0'=='\0' und '\0'==0 womit auch L'\0'==0!
Kann man das denn garantieren? Eher nicht, oder?
Oh Mann, natürlich kann man das garantieren. Null ist null. Die '\0' Schreibweise ist komplett sinnlos (einfach 0 statt dessen schreiben), Sinn macht das nur in Strings, wenn man eben Null-Codes einfügen will, also "so\0zum\0Beispiel\0".
-
Das beantwortet jetzt aber nicht die Frage bezueglich L'\0' (oder meinetwegen auch L0), oder?
-
der wichtigste unterschied ist wohl, dass 'sizeof('\0') == sizeof(char)' während 'sizeof(L'\0') == sizeof(wchar_t)' ist...
-
SG1 schrieb:
Das beantwortet jetzt aber nicht die Frage bezueglich L'\0' (oder meinetwegen auch L0), oder?
Was bleibt offen? Der Wert des Zeichens dass einen String beendet ist 0. Einzig die Größe ist unterschiedlich, aber die definiert sich höchstens aus dem Ziel wohin das Zeichen (nämlich die 0) gespeichert wird. Die automatische Wandlung von int auf long garantiert immer 0L==0! Eine entsprechende Schreibweise wie L'\0' wird dadurch auch überflüssig egal welches x-Endian gefahren wird.
0 ist einfach mal 0 per Definition! Plattform und Compiler übergreifend! Und das ist wirklich gut so.
-
Martin Richter schrieb:
0 ist einfach mal 0 per Definition! Plattform und Compiler übergreifend! Und das ist wirklich gut so.
Oho, wenn das nicht mal mehr stimmen würde ...
.