Hallo,
ich habe eine Textfile die voller Werte steht. Das Format der Textfile ist fest vorgegeben, da ich die von woanders bekomme.
Die Argumente sind getrennt mit einem Zeichen, das im Texteditor einfach als Rechteck dargestellt wird.
Wenn ichs einfach mal hier rüberkopiere sieht das so aus:
Okay hier ist es mehr ein Quadrat, aber ich denke ihr wisst was ich meine (falls nicht kann ich auch einfach mal so eine Textfile anhängen)
Kann mir jemand sagen was das für ein Zeichen ist ? Und was es darstellt ? Ich würde in VisualStudio gerne anhand dieses Rechtecks splitten, dann hätte ich auf einen Schlag alle Argumente in einem string array. Einfach ins VS kopieren geht aber leider nicht 😜
Grüße
?? Wandle es doch in einen Char um, anhand des Charcodes kannst du es dann finden. Einfach mal Textfile einlesen und durchdebuggen, dann ist das schnell passiert.
Das Rechteck kann verschiedene Werte darstellen. In deinem Fall könnte es eine Art Zeilenumbruch sein, der nicht richtig dargestellt werden kann.
Du kannst herausfinden welches Zeichen das Rechteck darstellt, indem du das TextFile einliest und dir die Zeichen als int-Werte ausgibst. In einer ASCII-Tabelle kannst du dann auch nachschauen, was für ein Zeichen das eigendlich sein soll und kannst dann danach splitten.
ASCII-Tabelle
Da in C# alle Strings intern Unicode sind: Unicode-Tabelle
Hallo scrabbl,
wie schon gesagt, kannst du das Zeichen einfach(*) einlesen, es in einen int umwandeln.
Dann hast du den Unicode des Zeichens und kannst das Zeichen als char-Literal '\unnnn' in den C#-Quellcode einfügen, wobei nnnn die vierstellige hexadezimale Darstellung des Unicodes ist. Siehe auch char (C#-Referenz).
herbivore
(*) Natürlich muss man beim Einlesen der Datei das richtige Encoding verwenden, damit alle Zeichen korrekt in die korrespondierenden Unicode-Zeichen umgesetzt werden. Strings in C# sind immer 16-Bit-Unicode. Für Dateien wird oft ein anderes Encoding verwendet, meistens Encoding.Default oder Encoding.UTF8. Wenn das Encoding der Datei unbekannt ist, hilft der Encoding Tester. Dank an Programmierhans für den Hinweis.