Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.vbclassic > #7633
| 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> |
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.
€ & "e; € È› Ș È™ ʹ à ć Ä‘ »…
> 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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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