Gewusst wie: schreiben von ASCII-Sonderzeichen in einem .Netz string
Angenommen, ich möchte mit ASCII-Sonderzeichen FS(0x1C) in einem .Netz-string, und dann in der Lage sein format ein byte-array, dass die gleiche Zeichenkette mit dem Sonderzeichen richtig dargestellt wird als ein einzelnes byte, wie soll ich das tun? Ich kann nicht scheinen, um meinen Kopf um ihn herum.
Vielen Dank für jede Hilfe, die Sie geben können.
Bevor deine Frage zu beantworten, ich wäre daran interessiert zu wissen, warum Sie versuchen, zu konvertieren einen string in ein byte-array.
Ich Schreibe eine Funktion, die analysiert, ein byte-array aus einem seriellen port, aber ich arbeite gerade blind auf den moment und haben keine eigentlichen Daten zu testen. Da habe ich die Dokumentation, die zeigt das format kann ich meine eigene Daten, und ich möchte nur schreiben Sie es als eine .Net-Zeichenfolge zu konvertieren, dass ein byte-array, und dann analysieren, die mit meiner Funktion. Aber vielleicht gibt es einen besseren Weg. Ich bin offen für Anregungen bezüglich, wie gut.
Ich Schreibe eine Funktion, die analysiert, ein byte-array aus einem seriellen port, aber ich arbeite gerade blind auf den moment und haben keine eigentlichen Daten zu testen. Da habe ich die Dokumentation, die zeigt das format kann ich meine eigene Daten, und ich möchte nur schreiben Sie es als eine .Net-Zeichenfolge zu konvertieren, dass ein byte-array, und dann analysieren, die mit meiner Funktion. Aber vielleicht gibt es einen besseren Weg. Ich bin offen für Anregungen bezüglich, wie gut.
InformationsquelleAutor JimDaniel | 2010-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielmehr kommt es auf die Art des seriellen Ports, Daten-format. Wenn die Daten bestehen aus meist ASCII-text-Zeichen durchsetzt mit gelegentlichen steuerzeichen, dann können Sie einbetten, die Sie in der Zeichenfolge, z.B.
Jedoch, wenn die Daten aus mehreren Feldern unterschiedlicher Datentypen, dann die
BitConverter
Klasse sinnvoller sein, z.B.Wie andere haben darauf hingewiesen, ASCII ist nicht die einzige Kodierung, die Sie nutzen könnten, aber von einem seriellen port ist es die wahrscheinlichste.
InformationsquelleAutor Christian Hayter
Hier ist, wie die Einbettung in einen string:
Ist die string-Darstellung der einzelnen Zeichen. Angenommen, Sie möchten Holen Sie es aus, wie ein array von bytes:
Und wenn Sie wollten, um einen string aus einem array von bytes:
Bewusst sein, dass es auch mehr Codierungen wie UTF8, in der Encoding-namespace, der besser laufen könnte, je nach neeed - obwohl das Lesen von der seriellen Leitung werden Sie wahrscheinlich wollen, ASCII.
InformationsquelleAutor Goyuix
Sollten Sie sich die ASCIIEncoding-Klasse http://msdn.microsoft.com/en-us/library/system.text.asciiencoding.aspx
Wenn Sie wollen deal mit ASCII. .Net strings sind in unicode (UCS2). Wenn Sie möchten, dass eine bestimmte Codierung, die Sie benötigen, um einen der encoding-Klassen.
Können Sie einbetten ein nicht druckbares Zeichen durch Flucht in "Meinen" string \x1c"
InformationsquelleAutor Darryl Braaten