AGB  ·  Datenschutz  ·  Impressum  







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

Zeichen im Zeichensatz ISO 8859-15

Ein Thema von hoika · begonnen am 12. Apr 2012 · letzter Beitrag vom 12. Apr 2012
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 11:16
Hallo,

die Aufgabe: prüfe ob ein String nur aus Zeichen des Zeichensatzes ISO 8859-15 besteht.
Lösung ?

Aus der Wikipedia-Tabelle (http://de.wikipedia.org/wiki/ISO_8859-15) werde ich nicht ganz schlau.
Wie bekomme ich die Tabelle in mein Programm?


Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 11:23
Wie bekomme ich die Tabelle in mein Programm?
Du mußt alle Zeichen (vorallem die ab #128/#$80) im Unicode finden und deren Zeichencode rausbekommen.





In einem AnsiString oder String (bis D2007) unbekannten Formates?

garnicht.



In einem UnicodeString oder WideString?

Wenn es sich nicht um einen MultiByteString handelt (der 8859-15 sollte keiner sein),
dann einen AnsiString/RawByteString mit allen möglichen Zeichen befüllen und diesen nach Unicode umwandeln lassen.
Oder man man definiert sich eine Tabelle, mit allen passenden Unicodezeichen.

Nun hätte man eine Liste aller Zeichen und kann den gewünschten string dagegen prüfen, ob sich alle Zeichen in dieser Liste befinden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (12. Apr 2012 um 11:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 11:35
Wenn ich mich da nicht vertue ist 8859-15 doch ein 8Bit-Zeichensatz, also ist da nichts mit Unicode und Konsorten!?

Ich halte die Prüfung zumindestens für schwierig, da Du das Auftauchen eines Zeichens im Kontext überprüfen mußt.

z.B. $31,$32,$A4 sollte 8859-15 sein.
während $31,$32,$A3 und $31,$32,$24 keinen Rückschluß auf den verwendeten Zeichensatz zulassen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 11:51
Wenn ich mich da nicht vertue ist 8859-15 doch ein 8Bit-Zeichensatz, also ist da nichts mit Unicode und Konsorten!?
Deswegen.
Wenn du nur einen Ansistring vor dir hast, dann kann man daraus nicht erkennen welche Codierung darin verwendet wurde.
Bei MultiByte-Zeichensätzen, wie Unicode (wenn man gewisse vorallem asiatische Sprachen ausschließen kann), UTF-8 und Co., da könnte man eventuell sagen "Ja, dieses paar Bytes könnten dem Format entsprechen.", aber auch da ist keine 100%ige Aussage möglich.

Hat man aber einen UnicodeString vor sich (Unicode, UTF-8 usw.), dann könnte man sagen "Ja, dieser String enthält ausschließlich Daten/Zeichen, welche sich in dem gewünschten Format abspeichern ließen.", welche also in einen AnsiString mit der angegebenen CodePage (ISO 8859-15) reinpassen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 12:11
Hallo,

also ich bekomme den String über eine Textdatei, packe den in meine DB (FB, kein Unicode).
Manchmal sind da aber "Sonderzeichen" drin.
Den String muss ich wieder in eine Textdatei packen.
Der Empfänger der Datei moniert aber, dass die Datei ungültige Zeichen,
(nicht im ISO 8859-15 enthalten) hat.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 12:15
also ich bekomme den String über eine Textdatei, packe den in meine DB (FB, kein Unicode).
Manchmal sind da aber "Sonderzeichen" drin.
Den String muss ich wieder in eine Textdatei packen.
Der Empfänger der Datei moniert aber, dass die Datei ungültige Zeichen,
(nicht im ISO 8859-15 enthalten) hat.
und welche?
Bei diesem mehrfachen hinundhergeschiebe kann natürlich mal was schiefgehen, da solltest Du ggf auch auf den DB-Zeichensatz ein Auge werfen!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Zeichen im Zeichensatz ISO 8859-15

  Alt 12. Apr 2012, 12:15
Wenn Du sonst nichts mit dem Text machen musst könntest Du Ihn in einem Binary-Blob per Stream ablegen/auslesen, damit vermeidest Du Konvertierungen durch Komponenten/Treiber/Datenbankeinstellungen
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:40 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