AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ascii oder Ansi

Ein Thema von egal · begonnen am 8. Jun 2006 · letzter Beitrag vom 10. Jun 2006
Antwort Antwort
Seite 2 von 2     12   
egal

Registriert seit: 14. Jul 2004
190 Beiträge
 
Delphi XE4 Professional
 
#11

Re: Ascii oder Ansi

  Alt 9. Jun 2006, 11:55
Zitat von Olli:
Ähem, irgendwie kapiere ich noch immer nicht, wo es hängt. Warum kannst du nicht verstehen, daß in deiner Datei auch für jedes Zeichen 8bit benutzt werden und damit jedes Zeichen einen Wert von 0..255 hat?! ... und daß die Darstellung dieser jeweils 256 unterschiedlichen Entitäten allein dem lesenden Programm obliegt (bzw. beim Lesen und Speichern die "Abbildung" von Code zu darzustellendem Zeichen und umgekehrt).

Nur weil █ (Unicode-Zeichen $2588, EASCII-Zeichen $DB bei westeuropäischer DOS-Kodierung) unter DOS als "voller Block" erscheint, heißt das nicht, daß es unter einer anderen Kodierung (ANSI-westlich $DB == Û) genauso sein muß. Nochmal: nimm Unicodezeichen, wenn du das Erscheinungsbild der Zeichen eineindeutig festlegen willst.
Irgendwie verstehe ich deine Antwort nicht, was hat es mit meiner Frage zu tun?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#12

Re: Ascii oder Ansi

  Alt 9. Jun 2006, 14:18
Es ist doch einfach.
Nur das Programm, welches die Daten erstellt (und vielleicht wieder ließt) entscheidet/weiß 100%ig was für ein Format die Daten in der Datei haben.

ANSI und ASCII sind halt nur Interpretationen der BYTEs (8-Bit-Daten).

Wenn also keine Definition (um welche Daten es sich genau handelt) in der Datei vorhanden sind, dann gibt es keine sichere Möglichkeit zu prüfen um was es sich handelt.


Für reine Textdateien sind aber auch schon verschiedene Markerbytes definiert:
kein Markerbyte am Dateianfang = ANSI
$FF $FE am Dateianfang = UniCode (Low Endian)
$FE $FF am Dateianfang = UniCode (Big Endian)
$FF $FE $00 $00 am Dateianfang = UniCode4 (Low Endian)
$00 $00 $FE $FF am Dateianfang = UniCode4 (Big Endian)


Du kannst es dir so vorstellen ... man nehme Byte, aber wie willst du entscheiden, was in diesem Byte steckt?
ShortInt, Byte, AnsiChar, ASCII-Char, UTF8-Char, Boolean, Set ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#13

Re: Ascii oder Ansi

  Alt 9. Jun 2006, 14:30
Hallo,
Zitat von himitsu:
Für reine Textdateien sind aber auch schon verschiedene Markerbytes definiert:
kein Markerbyte am Dateianfang = ANSI
$FF $FE am Dateianfang = UniCode (Low Endian)
$FE $FF am Dateianfang = UniCode (Big Endian)
$FF $FE $00 $00 am Dateianfang = UniCode4 (Low Endian)
$00 $00 $FE $FF am Dateianfang = UniCode4 (Big Endian)
Da fehlt noch:
$EF $BB $BF am Dateianfang = UTF8

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#14

Re: Ascii oder Ansi

  Alt 9. Jun 2006, 16:51
Jupp, hatte es nur nicht mehr im Kopf -.-''
Und natürlich gibt es noch mehr, aber das sind dann wohl erstmal die Markerbytes, welche von den meisten Programmen erkannt werden (abgesehn vom UCS4)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#15

Re: Ascii oder Ansi

  Alt 9. Jun 2006, 17:14
War UCS nicht inzwischen zugunsten von UTF "deprecated" deklariert worden (also alle UCS)?!

Nachtrag: Hah, ich habe eine Idee. "egal", versuche mal folgendes: öffne eine Bitmap-Datei mit deinem Lieblings-Bildbetrachter. Danach öffne die gleiche Datei mit Notepad und danach, insofern vorhanden, mit einem Hexeditor. Was siehst du? Richtig, die gleichen Daten, aber unterschiedlich repräsentiert. Und die Repräsentation ergibt sich daraus wie die Informationen/Daten dekodiert wurden.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#16

Re: Ascii oder Ansi

  Alt 10. Jun 2006, 00:09
Das habe ich in einer PM an himitsu geschrieben:

Ich glaube deswegen meine Aussage. Allerdings trog mich wohl meine Erinnerung. Die Aussage gilt nur für UCS-2 in Relation zu UTF-16 (macht ja Sinn). Also nicht UCS sondern UCS-2 sollte nicht mehr benutzt werden, weil ja in UTF-16 die Surrogates (zusammengesetzte Codes) dazugekommen sind.

Meine obige Aussage zu "allen UCS" trifft also nicht zu. Gemeint ist, daß UCS-2 nicht mehr benutzt werden soll (auch als Begriff), weil in UTF-16 Surrogates eingeführt wurden, die eben dann mehr als 2 Byte pro Zeichen lang sind ... deswegen wäre "Unicode Character String 2 Byte" (UCS 2) falsch.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz