Frage

Laut MSDN vb.net verwendet diese erweiterten Zeichensatz . Nach meiner Erfahrung nutzt es tatsächlich so aus:

alt text

  1. Was bin ich? Warum tut sie sagen, dass es das man benutzt und verwendet die andere?
  2. Bin ich etwas falsch zu machen?
  3. Gibt es irgendeine Art von Konvertierungs-Werkzeug auf den ursprünglichen Zeichensatz?
War es hilfreich?

Lösung

Dieses Verhalten ist in der Dokumentation des Chr Befehl :

Der Rückgabewert ist abhängig von der Codepage für den aktuellen Thread, die in der ANSICodePage Eigenschaft der Textinfo-Klasse im Namespace System.Globalization enthalten ist. Sie können ANSICodePage erhalten durch System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage angeben.

die Ausgabe von Chr für Werte größer also als 127 ist systemabhängig. Wenn Sie reproduzierbare Ergebnisse wollen, legen Sie die gewünschte Instanz Encoding durch den Aufruf Encoding.GetEncoding (String ) , verwenden Sie dann Encoding.GetChars (Byte ()) Ihre numerischen Werte in Zeichen umwandeln.

Wenn Sie geht eine Ebene höher in der verknüpften Diagramm in der Frage, werden Sie sehen, dass sie behaupten nicht, dass diese Tabelle immer ist der Ausgang des Chr Befehl:

Die Zeichen, die in Windows erscheinen über 127 auf der ausgewählten Schrift ab.

Die Diagramme in diesem Abschnitt zeigen den Standardzeichensatz für eine Konsolenanwendung.

Ihre Anwendung ist eine Windows Forms-Anwendung, nicht eine Konsolenanwendung. Auch in der Konsole kann der verwendete Zeichensatz geändert werden (zum Beispiel durch den chcp-Befehl), daher das Wort „default“.

Für detaillierte Informationen über die verwendeten Codierungen in .net, ich den folgenden MSDN-Artikel empfehlen:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top