Ist es in C# möglich, UTF-32-Zeichen nicht in Ebene 0 als Zeichen zu verwenden?C# - und UTF-16-Zeichen
string s = ""; // valid
char c = ''; // generates a compiler error ("Too many characters in character literal")
Und in s wird es durch zwei Zeichen, nicht eins dargestellt.
Edit: Ich meine, gibt es ein Zeichen AN String-Typ mit voller Unicode-Unterstützung, UTF-32 oder UTF-8 pro Zeichen? Zum Beispiel, wenn ich eine for-Schleife auf utf-32 (vielleicht nicht in Ebene 0) Zeichen in einer Zeichenfolge haben möchte.
Gute Präsentation der Fakten. Beachten Sie, dass C# Ihnen erlaubt, '" \ U00064321 "' (genau acht hexadezimale Ziffern nach dem '\ U') zu verwenden, was äquivalent zu" \ uD950 \ uDF21 "' ist, aber einfacher von einem Unicode/UTF-32 zu verstehen ist Standpunkt. Dies ist ein Codepunkt in [Ebene 6] (https://en.wikipedia.org/wiki/Plane_ (Unicode) #Unassigned_planes). –