AGB  ·  Datenschutz  ·  Impressum  







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

Stringbearbeitung - UTF8-Zeichensatz

Ein Thema von Konstantin H. · begonnen am 14. Mai 2014 · letzter Beitrag vom 22. Mai 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.675 Beiträge
 
Delphi 12 Athens
 
#1

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 12:46
Stelle := {System.}Insert(...) kann nicht funktionieren, da Insert eine Prozedur ist. Zum Rest: , was ist eigentlich das Problem? Du hast einen String, der vorne und hinten aus "0" besteht und in dem sich zwischen diesen Informationen befinden, die Du benötigst, soweit richtig? Filtert man die führenden und abschließenden "0" weg, enthält der resultierende String immer noch irrelevante Stellen, auch richtig? Und diese willst Du nun auch beseitigen und den verbleibenden String codieren, stimmt' s?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Konstantin H.
Konstantin H.

Registriert seit: 3. Nov 2008
Ort: Schwedt/Oder
27 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:02
@himitsu
Danke, mit while geht es genauso gut. Ich werde wohl diese Schleifenart nehmen.

Das Problem der Aufteilung des strings in HEX-Zahlen besteht aber noch. Ich verstehe nicht ganz, was der Result liefern soll...

@DeddyH
Ja, genau das möchte ich.
Mit StringReplace(stelle, '00','',[rfReplaceAll]); beseitige ich die Nullen. Ich brauche nur die HEX, die Buchstaben, Zahlen und Leerzeichen darstellen aus dieser Tabelle, d.h. der Rest kann beseiting werden. Ich komme aber nich auf eine elegante Lösung.

Geändert von Konstantin H. (14. Mai 2014 um 13:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:09
Mit StrToInt( '$FF' ) bekommt man 255 (in Hex $FF ) als Integer zurück.

Hilft dir das weiter
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Konstantin H.
Konstantin H.

Registriert seit: 3. Nov 2008
Ort: Schwedt/Oder
27 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:24
Mit StrToInt( '$FF' ) bekommt man 255 (in Hex $FF ) als Integer zurück.

Hilft dir das weiter
Leider nicht, es sind hauptsächlich Buchstaben und HEX-String muss zuerst zerteilt werden. FFFF und FF FF sind unterschiedliche werte
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:37
Mit StrToInt( '$FF' ) bekommt man 255 (in Hex $FF ) als Integer zurück.

Hilft dir das weiter
Leider nicht, es sind hauptsächlich Buchstaben und HEX-String muss zuerst zerteilt werden. FFFF und FF FF sind unterschiedliche werte
Warum ich wohl extra nur ein 2-Zeichen String als Beispiel gewählt habe (siehe Beispiel von DeddyH)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 14:07
Wenn ich das mal zusammen fassen darf:
Du hast einen String in dem nur die Zeichen 0..9,A..F auftreten.
Sie sind eine hexadezimale Darstellung von Zeichen in UTF8-Codierung. (C39F='ß')
die Nutzdaten sind von bestimmten Zeichenfolgen begrenzt.
die Nutzdaten sollen im Klartext dargestellt werden / die nutzdaten sollen schön dargestellt werden.

Ist das soweit richtig?

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

Registriert seit: 3. Nov 2008
Ort: Schwedt/Oder
27 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 14:14
Wenn ich das mal zusammen fassen darf:
Du hast einen String in dem nur die Zeichen 0..9,A..F auftreten.
Sie sind eine hexadezimale Darstellung von Zeichen in UTF8-Codierung. (C39F='ß')
die Nutzdaten sind von bestimmten Zeichenfolgen begrenzt.
die Nutzdaten sollen im Klartext dargestellt werden / die nutzdaten sollen schön dargestellt werden.

Ist das soweit richtig?

Gruß
K-H
Ja. Soweit korrekt, außer es wird statt ß "SS" geschrieben und ein Leerzeichen verwendet. Schönheit ist erstmal nebensächlich. Die Buchstaben sind hauptsächlich uppercase.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:21
Zitat:
StringReplace(stelle, '00','',[rfReplaceAll]);
F00F = FF


StrToInt geht ja nur bis maximal 8 Byte am Stück (Int64) ... für mehr muß man es zerlegen oder man verwendet z.B. HexToBin. (IntToHex/Format / BinToHex)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Konstantin H.
Konstantin H.

Registriert seit: 3. Nov 2008
Ort: Schwedt/Oder
27 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:27
Zitat:
StringReplace(stelle, '00','',[rfReplaceAll]);
F00F = FF


StrToInt geht ja nur bis maximal 8 Byte am Stück (Int64) ... für mehr muß man es zerlegen oder man verwendet z.B. HexToBin. (IntToHex/Format / BinToHex)
Ich arbeit mit dem Zeichensatz aus dieser Tabelle, da sind solche Kreuzungen nicht wirklich möglich
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Stringbearbeitung - UTF8-Zeichensatz

  Alt 14. Mai 2014, 13:35
Mit HexToBin in einen UTF8String kopieren.

Oder in ein TBytes und dann via TEncoding in den Unicode-String. (ab Delphi 2009)



Aber warum eigentlich UTF8, wenn dort sowieso nur Latin1 (ISO 8859-1) drin steckt?



Ich arbeit mit dem Zeichensatz aus dieser Tabelle, da sind solche Kreuzungen nicht wirklich möglich

Code:
...0
0...

...300D0A30...
wird zu
Delphi-Quellcode:
...3D0A30...

...=
0...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Mai 2014 um 13:39 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 22:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz