Überprüfen Sie, ob beim Codieren Zeichen vorhanden sind

8

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:

%Vor%

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?

?

%Vor%

Vielleicht nicht sehr relevant, aber die Bitmap wird so erstellt:

%Vor%     
Alvin Wong 26.06.2012, 15:12
quelle

1 Antwort

2

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.

    
Alvin Wong 26.06.2012, 15:40
quelle