AGB  ·  Datenschutz  ·  Impressum  







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

Vermutlich Hex Daten Umwandeln

Ein Thema von Dumpfbacke · begonnen am 31. Mär 2019 · letzter Beitrag vom 8. Apr 2019
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Vermutlich Hex Daten Umwandeln

  Alt 1. Apr 2019, 20:07
Dachte ich zuerst auch, war früher vielleicht auch so. Nach https://de.wikipedia.org/wiki/Unicode gehört die Kodierung aber auch dazu.
Nuja, wenn man sich das Ziel setzt, einen globalen, allgemein gültigen Standard bzgl. aller Schriftzeichen zu etablieren, dann muss man sich auch darum kümmern, wie man diese Nummern am Ende tatsächlich in einer Datei als Bytefolge ablegt. Daher gehören die Kodierungen zu Unicode dazu. Aber eine Kodierung wie UTF-16 ist nicht Unicode, sie ist (ein wichtiger) Teil des Gesamtkonzepts, bzw. eine Möglichkeit, wie man die Unicode-Nummerierung abspeichert. UTF-8 ist eine weitere, und beide haben ihre Vor- und Nachteile.

Aber ich glaube, wir schweifen vom Thema ab.
The angels have the phone box.
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Vermutlich Hex Daten Umwandeln

  Alt 1. Apr 2019, 20:10
Also wenn, dann hier: http://unicode.org/ Aber Änderungen gab es tatsächlich, der allgemeine Standard wurde auf die Beschränkungen von UTF-16 und UCS mit UTF somit praktisch gleich gesetzt.
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Vermutlich Hex Daten Umwandeln

  Alt 1. Apr 2019, 20:15
Hallo Delphianer,
als erstes habe ich mal mein Delphi angepasst. Ich habe etwas neuers als D7. Sorry hate ich gar nicht mehr im Auge.

Das ist kein UTF-8. Das ist UCS-2LE oder UTF-16LE (kann man am Beispiel nicht erkennen, ist den meisten Usern aber auch egal), das wird gerne falsch als Unicode bezeichnet. Bei Delphi ab Version 2009 geht so etwas:
Delphi-Quellcode:
var
  bs: TByteStream;
  sl: TStringList;
begin
  bs := TByteStream.Create(FieldByName('bla').AsBytes);
  try
    sl := TStringList.Create();
    try
      sl.LoadFoomStream(bs, TEncoding.Unicode);
      // tu was
    finally
      sl.Free();
    end;
  finally
    bs.Free();
  end;
end;

Das ganze funktioniert leider nicht so. Ich habe bei tu was eingetragehn Hstring := SL[0]. Hier kommen nur die ersten 6 Stellen raus und nicht mehr. Das ganze fängt am mit 050301. Nur das wird angezeigt. Bei IBExpert funktioniert es komplett. Es ist dort noch bedeutend mehr an Daten vorhanden

Hat eventuell noch jemand für micht ein Tip ??
Tanja
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Vermutlich Hex Daten Umwandeln

  Alt 1. Apr 2019, 20:27
Wenn du ein aktuelles Delphi hast, warum nicht einfach:
sl.Text:=FieldByName('bla').AsString
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#15

AW: Vermutlich Hex Daten Umwandeln

  Alt 1. Apr 2019, 20:42
Bitte grab Dich mal durch IBExpert und schau nach, ob da irgendwo eine Zeichensatz-...-Einstellung vorhanden ist und wie sie ggfls. konfiguriert ist. Kenne die Software nicht und kann von daher nix genaueres dazu sagen.

Dann schau Dir bitte mal die Datenbank und / oder die Tabellen- bzw. Spaltendefinitionen an. Was ist da bezüglich Zeichensatz angegeben?

Eine Kombination dieser Infos müsste Dir dann eigentlich (hoffentlich) einen Hinweis darauf geben, wie die Daten in Delphi zu verarbeiten sind.

Firebirddatenbank: "Default Character Set" = ?

Jede Spalte kann (zumindest theoretisch) über 'nen anderen CharSet verfügen.

Wie sieht die genaue Definition der Tabellenspalte aus? Irgendsowas wie IMAGE BLOB SUB_TYPE 0 ?

Und Ydobon hat eigentlich recht, wenn der Inhalt der Spalte ein Text ist, sollte AsString funktionieren. Probleme kenne ich in diesem Zusammenhang eigentlich nur, wenn in der Datenbank etwas steht, was die genutzte Delphiversion nicht beherrscht, also z. B. Delphi 7 und UTF8.
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Vermutlich Hex Daten Umwandeln (IBExpert)

  Alt 2. Apr 2019, 20:25
Hallo Delphianer,
also fangen wir mal an das Feld ist ein Blob Feld Sub_Type 1 Segement Size 8192 und der Subtype ist Text. Als Zeichensatz ist hier ISO8859_1 angewählt. Als Text kann ich mir den Inhalt nicht anzeigen lassen. Da stene am Anfang nur einige Rechtecke drin mehr kann man da icht erkennen. Wenn ich mir das ganze in IBExpert als Hex anzeigen lassen dann kann man sehen das dort Hexwerte irgendie gespeicher sind. Im Bild 1 ist zu erkennen wie das ganze anfängt. Im Bild 2 kann man erkennen das hier mein Privat steht. Das möchte ich irgenbwie auslesen. Hier können auch noch andere Daten stehen. Ich hänge Euch mal die beiden Bilder an wo man erkennen wie es IBExpert darstellt.

Habt Ihr noch ein Tip für micht ??

Danke Euch schon mal Tanja
Miniaturansicht angehängter Grafiken
bild-1.jpg   bild-2.jpg  
Tanja

Geändert von Dumpfbacke ( 2. Apr 2019 um 20:27 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#17

AW: Vermutlich Hex Daten Umwandeln

  Alt 2. Apr 2019, 20:33
Wer oder was schreibt denn diese Daten dort rein?

Dort musst du nachfragen was das bedeuten soll. In so einem Blob-Feld stehen binäre Daten drin, die alles und nichts bedeuten können. Ohne einen Hinweis, wie man diese Daten zu deuten hat wird es schwierig.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#18

AW: Vermutlich Hex Daten Umwandeln

  Alt 2. Apr 2019, 21:02
Code:
50 00 72 00 69 00 76 00 61 00 74
P  .  r  .  i  .  v  .  a  .  t
IBExpert interpretiert die Zahlen hexadezimal und zeigt das passenden ASCII-Zeichen an. Nicht anzeigbare Werte werden als . dargestellt.

Irgendwie sieht mir das so aus, als wären hier Texte im Textblob, die nicht kompatibel mit dem Zeichensatz ISO8859_1 der Tabelle / Datenbank sind.

Also Aufgabe
  • Prüfen, was für Daten das sind.
  • Welcher Zeichensatz steht hinter diesen Daten im Original?
  • Testdatenbank mit dem entsprechenden Zeichensatz anlegen.
  • Ein paar Testdaten einlesen.
  • Daten anzeigen / ausgeben.
Hoffentlich hilft das ein bisserl weiter und bringt Dich Deinem Ziel näher.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Vermutlich Hex Daten Umwandeln

  Alt 3. Apr 2019, 07:59
ISO8859-1 ist der 1-Byte-Zeichensatz, den wir hier in Westeuropa üblicherweise nutzen. In dem Bild sieht man aber deutlich, dass "Privat" mit einem 2-Byte-Zeichensatz gespeichert wurde. Und wie schon gesagt, ist das UTF16. Da in dem Beispiel nur Zeichen verwendet werden, die auch mit ihrer Unicode-Nummer in 1 Byte passen, ist hier jedes zweite Byte 0.

Warum das nicht mit der Spezifikation der DB übereinstimmt - keine Ahnung.
The angels have the phone box.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#20

AW: Vermutlich Hex Daten Umwandeln

  Alt 3. Apr 2019, 08:12
In dem Bild sieht man aber deutlich, dass
sich dieser Text mitten in einem Byte-Haufen befindet, somit kann es sich bei dem Inhalt nicht nur um reinen Text handeln, sondern eben um ein Haufen von Bytes wo sich zwischendrin hier und da Text befindet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 12:49 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