Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.vbclassic > #7633

Re: Unicode-Sequenzen in Strings erkennen

From Klaus Ketelaer <usenet@ketelaer.de>
Newsgroups de.comp.lang.vbclassic
Subject Re: Unicode-Sequenzen in Strings erkennen
Date 2024-03-14 01:41 +0100
Message-ID <usth3d$1ar25$1@solani.org> (permalink)
References <ussie2$1amq6$1@solani.org> <ussuv5$13sdr$1@dont-email.me>

Show all headers | View raw


Am 13.03.2024 um 20:31 schrieb Ulrich Möller:
 > Hallo Klaus,
Hallo Ulrich,
 > Am 13.03.2024 um 16:57 schrieb Klaus Ketelaer:
 >> Hallo zusammen,
 >>
 >> ich parse Google-Seiten nach den Namen von Darstellern, wobei viele
 >> Namen Akzente enthalten. Die Akzente haben einmal einen Ascii Code
 >> bis 255, und manchmal sind die Zeichen als Unicode in 2 Bytes codiert.
 >>
 >> Ich habe nun Probleme damit, zu erkennen, ob solche 2 Byte Akzente in
 >> einem String enthalten sind. Bei den meisten Akzenten hat das erste
 >> Byte den Ascii-Code 195,196,197 oder 226. Das werte ich nun aus, und
 >> die Konvertierung von Namen mit Akzenten funktioniert eigentlich
 >> bestens.
 >>
 >> Leider finde ich meine Funktion zur Erkennung dieser 2 Byte Akzente
 >> irgendwie stümperhaft, und frage mich, ob es keine Funktion gibt, mit
 >> der man zuverlässig erkennen kann, ob ein String 2 Byte Unicode enthält.
 >>
 >> Hat vielleicht jemand einen Tip für mich?
 >>
 >
 > bist du dir sicher mit Unicode?
Nein, ich bezeichne nur die unzähligen Codepages einfach als Unicode.

Es kommt auch erst einmal nicht darauf an, worin die Webseiten codiert
sind, sondern was ich bekomme, wenn ich die gespeicherten Webseiten von
der Festplatte einlese.

Ich kann auch nicht die gesamte Seite einfach mal in UTF8 umwandeln,
sondern muss mir das herausangeln, was zwischen gewissen Tags steht.

Da bekomme ich ANSI und ASCII und HTML und Unicode und Base64 usw.
&euro; &amp; &quote; &#8364; È› Ș È™ ʹ í ć Ä‘ »…

 > Das verwenden Webseiten eher selten.
 > Meistens sind die Seiten doch UTF-8 codiert.
Ja, das stimmt, aber um aus den Textpassagen UTF8 zu machen, muss
ich erst einmal wissen, was darin steht.

Ich darf den Text nur dann in UTF8 wandeln, wenn Zeichen wie
ț Ș ș ʹ í ć đ darin enthalten sind. Wenn ich den Text
wandle, ohne dass "Unicode" darin steht, dann zerschieße ich
den Text.

 > Wohin konvertierst du die
 > Akzente?
Ich konvertiere die Akzente in Ascii-Code. In 7 Bit Code. Bei
mir gibt es halt keinen Raúl Méndez, sondern lediglich einen
Raul Mendez.

 > Bist du dir sicher, daß es für alle Unicode-Akzente eine ANSI
 > Entsprechung gibt?
Ich bin mir sicher, dass es für keinen Akzent eine Entsprechung in
meinem ASCII-Code gibt. Genau das ist der Sinn der Sache. Akzente
zu entfernen.

Bei meiner Frage geht es einfach nur darum, ob es einen sicheren
Weg gibt Zeichen wie ț Ș ș ʹ í ć đ zu ermitteln, denn bei
den Zeichen könnte es sich theoretisch auch einfach um 2 ANSI-
Zeichen handeln.

Es geht darum diese idiotische Funktion zu ersetzen:

Private Function IsUnicode(ByVal szText As String) As Boolean
   Dim i               As Integer
   Dim bFound          As Boolean

   If InStr(szText, Chr$(195)) Then
     bFound = True
   ElseIf InStr(szText, Chr$(196)) Then
     Debug.Assert False
     bFound = True
   ElseIf InStr(szText, Chr$(197)) Then
     bFound = True
   ElseIf InStr(szText, Chr$(226)) Then
     bFound = True
   Else
     For i = 1 To Len(szText)
       If AscW(Mid$(szText, i, 1)) > 255 Then
         bFound = True
         Exit For
       End If
     Next i
   End If

   IsUnicode = bFound
End Function


Gib einfach mal "Besetzung von Narcos" bei Google ein, klicke auf
mehr anzeigen, und dann speichere die Seite nal. Dann weisst du,
was ich parse. Wie Du dann sehen kannst gibt sich Google alle Mühe,
genau das zu verhindern.

Back to de.comp.lang.vbclassic | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Unicode-Sequenzen in Strings erkennen Klaus Ketelaer <usenet@ketelaer.de> - 2024-03-13 16:57 +0100
  Re: Unicode-Sequenzen in Strings erkennen Ulrich Möller <knobbi38@arcor.de> - 2024-03-13 20:31 +0100
    Re: Unicode-Sequenzen in Strings erkennen Klaus Ketelaer <usenet@ketelaer.de> - 2024-03-14 01:41 +0100
      Re: Unicode-Sequenzen in Strings erkennen Ulrich Möller <knobbi38@arcor.de> - 2024-03-14 12:09 +0100
        Re: Unicode-Sequenzen in Strings erkennen Klaus Ketelaer <usenet@ketelaer.de> - 2024-03-14 16:58 +0100
          Re: Unicode-Sequenzen in Strings erkennen Wolfgang  Εnzinger <we_usenet@nurfuerspam.de> - 2024-04-16 00:05 +0200
            Re: Unicode-Sequenzen in Strings erkennen Wolfgang  Εnzinger <we_usenet@nurfuerspam.de> - 2024-04-16 00:33 +0200

csiph-web