Ich schreibe ein Programm, dass ein Teil eine Bitmap-Schriftart in CP437 rendert.
In einer Funktion, die den Text rendert, kann ich prüfen, ob ein char
in CP437 vor der Kodierungskonvertierung verfügbar ist, wie:
Ohne die Überprüfung führen alle Zeichen außerhalb von CP437 zu '?'
(63, 0x3F). Ich möchte alle ungültigen Zeichen vollständig ausblenden. Gibt es eine andere Implementierung von char_exist_in_encoding
als der folgende dumme Ansatz?
Vielleicht nicht sehr relevant, aber die Bitmap wird so erstellt:
%Vor% Dank Vlad, nach ein bisschen Nachforschung über EncoderFallback
habe ich endlich ein Beispiel in MSDN gesehen
Mein Arbeitscode (vielleicht temporär) lautet:
%Vor% Ersetzt ungültige Zeichen in ein Leerzeichen " "
.
P.S. Ich habe ursprünglich eine leere string
""
als Ersatz verwendet, aber letztendlich habe ich mich entschieden, das Leerzeichen zu verwenden, weil es sauberer aussieht.
Tags und Links .net c# character-encoding encoding