AGB  ·  Datenschutz  ·  Impressum  







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

Unsichtbare UTF16 Zeichen

Ein Thema von geldis · begonnen am 11. Jun 2023 · letzter Beitrag vom 11. Jun 2023
Antwort Antwort
geldis

Registriert seit: 19. Jan 2022
28 Beiträge
 
#1

Unsichtbare UTF16 Zeichen

  Alt 11. Jun 2023, 09:29
Hallo!

Ich muss aus UTF8-Strings, in dem sich ein oder mehrere 'unsichtbare' UTF16 Zeichen befinden, ebendiese entfernen. Der Utf8 String soll auch ein solcher bleiben.

Der UTF8 String:
Code:
  Kastagnette CM-9
Konvertiert zu ANSI
Code:
  Kastagnette CM-?9
Man beachte das Fragezeichen. Die Konvertierungsroutinen habe ich natürlich gefunden - aber welche nehme ich da und auch wie?

geldis
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Unsichtbare UTF16 Zeichen

  Alt 11. Jun 2023, 10:54
konvertriere den UTF-8 Text nach UTF-16, wirf dort die unerwünschten Zeichen raus und konvertiere das Resultat zurück nach UTF-8.

Wie im Detail hängt von der verwendeten Delphi-Version ab und in welchem Datentyp der UTF-8-String gespeichert ist. Neuere Delphiversionen haben z. B. einen Utf8String Typ. Durch simple Zuweisung an eine Variable vom Typ String erfolgt die Konvertierung in UTF-16 und der umgekehrte Weg funktioniert genauso.
Die Unit System.Character enthält eine Menge Funktionen zur Klassifizierung von UTF-16 Zeichen, z. B. IsWhitespace; damit kann man die unerwünschten Zeichen identifizieren. Die meisten dieser Funktionen sind auch über TCharHelper verfügbar, man also direkt sowas wie aString[i].IsWhitespace verwenden.
Peter Below
  Mit Zitat antworten Zitat
geldis

Registriert seit: 19. Jan 2022
28 Beiträge
 
#3

AW: Unsichtbare UTF16 Zeichen

  Alt 11. Jun 2023, 14:18
Prima, besten Dank, damit komme ich dahin wo ich hin will.

geldis
  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 08:59 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