PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum kann Notepad Zeichen wie Ascii 30 nicht abspeichern?


Elemental
2004-02-26, 14:55:02
Wenn ich in Notepad das Ascii Zeichen 30 (mal testen, ob das hier geht: ▲ ) eingebe und dann das .txt speichern will, beschwert sich notepad, dass Unicode Zeichen in der Textdatei sind???
Weiss irgendjemand, wieso Ascii 30 auf einmal ein unicode Zeichen sein soll?


Wenn die Datei dann trotzdem speichere, schliesse und wieder öffne ist aus dem Ascii 30 Zeichen ein ? geworden.


mfG
Elemental

Gast
2004-02-26, 15:49:16
also mein winxp-notepad beschwert sich da nicht und kann das problemlos speichern und wieder laden (auch wenn es nur als viereck angezeigt wird...)
benutzt du zufällig win9x?

Gast
2004-02-26, 15:51:35
oh... ich nehm alles zurück.. ich hatts mit 0 davor eingetippt (hex).. bei alt+30 passiert das gleiche, stimmt

Elemental
2004-02-26, 16:15:44
Bei mir tritt das Problem sowohl bei WinXP als auch bei Win2000 auf.

Notepad hab ich jetzt nur zum testen verwendet. Is im Visual studio nämlich das gleiche:
Wenn du in code ein Ascii Zeichen wie ▲ oder █ verwendest (z.B. in einem String), das source-file dann abspeicherst und wieder öffnest, dann ist dein Zeichen nicht mehr da, sondern irgend was anderes :O

Brillus
2004-02-26, 21:29:57
Also das Problem habe ich auch im Notepad im VisualC++6 stellt dort abe das richtige zeichen rein (also ?).

Und wenn ich jetzt nichts drucheinander schmeisse ist Visual C++ ein teil von Visual Studio, welche Version hast du den?

EDIT: Schocking mir ist gerade aufgefallen durch mein Ascii Programm das das zeichen ja doch das Dreick sein müsste.

PH4Real
2004-02-26, 23:35:11
Benutzt Windows nicht den Windows-ANSI Zeichensatz der IMO Unterschiede zum ASCII Satz besitzt :kratz: ?

Naja und Notepad hat ja auch nicht unrecht. Ein Unicode Zeichen ist das schon ;)

Xmas
2004-02-27, 00:48:06
Bei Notepad (XP) kann man die Codierung beim Speichern wählen. Und wenn man eben ANSI nimmt, sind Zeichen mit Code < 32 nicht erlaubt.

Elemental
2004-02-27, 08:04:13
Original geschrieben von Xmas
Bei Notepad (XP) kann man die Codierung beim Speichern wählen. Und wenn man eben ANSI nimmt, sind Zeichen mit Code < 32 nicht erlaubt.

Aber mit Ascci 219 (also █ ) meckert Notepad XP auch, wenn ich im Ansi Format abspeichern will!


Zum eigentlichen Problem:
Ich nutze Visual Studio.Net 2003 und habe dort in einem .cs file das Ascii-Zeichen 219 drin (in einem hardcoded string).

Dieses Zeichen wird zur Darstellung in einem Crystal Report benötigt.
Ich kann mit diesem Zeichen problemlos kompilieren und es wird auch perfekt im Report dargestellt, aber sobald ich die .cs Datei schliesse und wieder öffne ist aus dem Ascii 219 ein anderes zeichen geworden.


mfG
Elemental

Trap
2004-02-27, 13:42:38
Du könntest die Datei als Unicode speichern.

Xmas
2004-02-27, 14:03:57
Oder "\xDB" verwenden (generell \x<HexZahl>).

Elemental
2004-02-27, 14:54:57
Original geschrieben von Xmas
Oder "\xDB" verwenden (generell \x<HexZahl>).

Geht leider auch nicht wirklich:(

Mach mal ne einfache WindowsApllication mit einer Textbox und dann versuche "\xDB" darin darzustellen.

Xmas
2004-02-28, 02:32:04
Stimmt, weil \x für Unicode-Zeichen steht... tja, dann bleibt dir, die Unicode-Zahl des Zeichens zu suchen, oder das Speichern mit Codierung (durch Klick auf den kleinen Pfeil rechts des Speichern-Buttons im Speichern unter... Dialog)