Rocksolid Light

groups  faq  privacy  How to post  login

Message-ID:  

The devil can cite Scripture for his purpose. -- William Shakespeare, "The Merchant of Venice"


rocksolid / de.comp.lang.vbclassic / Re: Unicode-Sequenzen in Strings erkennen

SubjectAuthor
* Unicode-Sequenzen in Strings erkennenKlaus Ketelaer
`* Re: Unicode-Sequenzen in Strings erkennenUlrich Möller
 `* Re: Unicode-Sequenzen in Strings erkennenKlaus Ketelaer
  `* Re: Unicode-Sequenzen in Strings erkennenUlrich Möller
   `* Re: Unicode-Sequenzen in Strings erkennenKlaus Ketelaer
    `* Re: Unicode-Sequenzen in Strings erkennenWolfgang Εnzinger
     `- Re: Unicode-Sequenzen in Strings erkennenWolfgang Εnzinger

1
Subject: Unicode-Sequenzen in Strings erkennen
From: Klaus Ketelaer
Newsgroups: de.comp.lang.vbclassic
Date: Wed, 13 Mar 2024 15:57 UTC
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: use...@ketelaer.de (Klaus Ketelaer)
Newsgroups: de.comp.lang.vbclassic
Subject: Unicode-Sequenzen in Strings erkennen
Date: Wed, 13 Mar 2024 16:57:53 +0100
Message-ID: <ussie2$1amq6$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 13 Mar 2024 15:57:54 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1399622"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/2.0 (compatible; MSIE 3.0; Windows 3.1)
Cancel-Lock: sha1:OVvt5N+sHw3x5ic3lMRFNeZfzpY=
X-User-ID: eJwFwYkRwDAIA7CVkhhcGIfnvP8IlRy8nM/oNJdrzYpdCe3BSgepzRdSLue+mJh2SCJqpn81CBJg
View all headers

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?

Gruß Klaus

Subject: Re: Unicode-Sequenzen in Strings erkennen
From: Ulrich Möller
Newsgroups: de.comp.lang.vbclassic
Organization: A noiseless patient Spider
Date: Wed, 13 Mar 2024 19:31 UTC
References: 1
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: knobb...@arcor.de (Ulrich Möller)
Newsgroups: de.comp.lang.vbclassic
Subject: Re: Unicode-Sequenzen in Strings erkennen
Date: Wed, 13 Mar 2024 20:31:48 +0100
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <ussuv5$13sdr$1@dont-email.me>
References: <ussie2$1amq6$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 13 Mar 2024 19:31:49 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a22f4fb8d1dc4b47387ba9d1d9e06335";
logging-data="1175995"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19fiuvuL/C7DZGgVC1Qy11eE7zoTBDpV1Y="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:+UcyWeQRSfpA8TS7uiTZBq5OG3g=
In-Reply-To: <ussie2$1amq6$1@solani.org>
Content-Language: de-DE
View all headers

Hallo Klaus,

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? Das verwenden Webseiten eher selten.
Meistens sind die Seiten doch UTF-8 codiert. Wohin konvertierst du die
Akzente? Bist du dir sicher, daß es für alle Unicode-Akzente eine ANSI
Entsprechung gibt?

Grüße
Ulrich

Btw.: ASCII Code hat übrigens nur 7-Bit.

Subject: Re: Unicode-Sequenzen in Strings erkennen
From: Klaus Ketelaer
Newsgroups: de.comp.lang.vbclassic
Date: Thu, 14 Mar 2024 00:41 UTC
References: 1 2
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: use...@ketelaer.de (Klaus Ketelaer)
Newsgroups: de.comp.lang.vbclassic
Subject: Re: Unicode-Sequenzen in Strings erkennen
Date: Thu, 14 Mar 2024 01:41:16 +0100
Message-ID: <usth3d$1ar25$1@solani.org>
References: <ussie2$1amq6$1@solani.org> <ussuv5$13sdr$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 14 Mar 2024 00:41:17 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1403973"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/2.0 (compatible; MSIE 3.0; Windows 3.1)
Cancel-Lock: sha1:m9K50Esc3HJ5kPFW1nwtSTiT/Rs=
X-User-ID: eJwFwYkRADAEBMCWvIdykNF/Cdl1BWPD4DA/v0inPOnVmldi9HKDnTdoDNKvIVc6e52LsA8SrBEF
In-Reply-To: <ussuv5$13sdr$1@dont-email.me>
View all headers

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.

Subject: Re: Unicode-Sequenzen in Strings erkennen
From: Ulrich Möller
Newsgroups: de.comp.lang.vbclassic
Organization: A noiseless patient Spider
Date: Thu, 14 Mar 2024 11:09 UTC
References: 1 2 3
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: knobb...@arcor.de (Ulrich Möller)
Newsgroups: de.comp.lang.vbclassic
Subject: Re: Unicode-Sequenzen in Strings erkennen
Date: Thu, 14 Mar 2024 12:09:29 +0100
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <usult9$1imai$1@dont-email.me>
References: <ussie2$1amq6$1@solani.org> <ussuv5$13sdr$1@dont-email.me>
<usth3d$1ar25$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 14 Mar 2024 11:09:29 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7bcc5907dc651e690dfa996824102933";
logging-data="1661266"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18O/Sz2AlTE6S9a03jEBrkOsnATtl91N7g="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:L3t0or25xaZs+TddAuAo2yy7U4w=
In-Reply-To: <usth3d$1ar25$1@solani.org>
Content-Language: de-DE
View all headers

Hallo Klaus,

ich habe mir die Seite mal angesehen und sie ist in UFT-8 kodiert.

Für diese Aufgaben habe ich normalerweise die beiden Bibliotheken MSHTML
und MSXML verwendet, welche mit UTF-8 kodierte Seiten umgehen können.
Probleme mit Unicode habe ich noch nicht bekommen. Bei UTF-8 können
Zeichen mehrere Bytes groß sein, bei Unicode-16 sind es immer 2 Byte.
Ein freistehendes Akut wird durch U+00A0 U+00B0 dargestellt, ansonsten
gilt die Reihenfolge, zuerst Basisbuchstabe und dann diakritischen
Zeichen. Das sollte in einem Bytearray eigentlich leicht zu finden sein.

Näheres: https://de.wikipedia.org/wiki/Diakritisches_Zeichen#Unicode

Gruß Ulrich

Subject: Re: Unicode-Sequenzen in Strings erkennen
From: Klaus Ketelaer
Newsgroups: de.comp.lang.vbclassic
Date: Thu, 14 Mar 2024 15:58 UTC
References: 1 2 3 4
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: use...@ketelaer.de (Klaus Ketelaer)
Newsgroups: de.comp.lang.vbclassic
Subject: Re: Unicode-Sequenzen in Strings erkennen
Date: Thu, 14 Mar 2024 16:58:08 +0100
Message-ID: <usv6qh$1c0di$1@solani.org>
References: <ussie2$1amq6$1@solani.org> <ussuv5$13sdr$1@dont-email.me>
<usth3d$1ar25$1@solani.org> <usult9$1imai$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 14 Mar 2024 15:58:09 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1442226"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/2.0 (compatible; MSIE 3.0; Windows 3.1)
Cancel-Lock: sha1:klzxk2Bt6qHGwxFYkOKbgGFD9DI=
In-Reply-To: <usult9$1imai$1@dont-email.me>
X-User-ID: eJwFwQERADEIAzBLG7RlyOHg8S/hE7quOiAKXK6MzTf3AK+g9ImPXRuGRUJT231MyaK8/QcMvhCt
View all headers

Am 14.03.2024 um 12:09 schrieb Ulrich Möller:
> Hallo Klaus,
Hallo Ulrich,
> ich habe mir die Seite mal angesehen und sie ist in UFT-8 kodiert.
>
> Für diese Aufgaben habe ich normalerweise die beiden Bibliotheken MSHTML
> und MSXML verwendet, welche mit UTF-8 kodierte Seiten umgehen können.
> Probleme mit Unicode habe ich noch nicht bekommen. Bei UTF-8 können
> Zeichen mehrere Bytes groß sein, bei Unicode-16 sind es immer 2 Byte.
> Ein freistehendes Akut wird durch U+00A0 U+00B0 dargestellt, ansonsten
> gilt die Reihenfolge, zuerst Basisbuchstabe und dann diakritischen
> Zeichen. Das sollte in einem Bytearray eigentlich leicht zu finden sein.
>
> Näheres: https://de.wikipedia.org/wiki/Diakritisches_Zeichen#Unicode
>
Der überwiegende Teil aller Namen besteht aus ASCII-Zeichen im
Bereich 48 bis 57, 97 bis 122. Deutsche Namen sind ab und zu im
ANSI-Format, und enthalten ggf. die Zeichen 228, 246, 252 und 223.
(Alles in Kleinschrift)

Wenn dies nicht zutrifft, dann werden die Namen auf häufig
enthaltene HTML-Codierungen geparst und entsprechend gesäubert.

Ja, und danach, muss ich wissen, ob Unicode codierte Zeichen
enthalten sind, sodass ich meine Funktion UTF8_To_Ansi() aufrufen
muss, weil halt die Seiten meist in UTF8 codiert wurden. (Wenn
ich mir Namen aus Russland "angle", muss ich andere Codepages
verwenden.)

Die bisherige Konvertierung von über 200.000 Namen hat ergeben,
dass die codierten Zeichen stets mit &HC3 bis &HC5 beginnen, was
den von mir erwähnten Wertne 195-198 entspricht. Danach folgt ein
weiteres Zeichen, das dann zusammen mit dem ersten Zeichen das
Unicode-Zeichen bildet.
Und nur dann darf ich den String in UTF8 wandeln. Wenn ich den
String ungeachtet dessen konvertiere, dann zerstöre ich alle evtl.
enthaltenen ANSI-Zeichen, incl. Deutscher Umlaute.

Daher muss ich prüfen, ob solche Zeichen enthalten sind, was ich
mit der geposteten Function tue, die ich jedoch als recht
dilettantisch empfinde.

Bis hierhin interessieren mich Akzente nicht die Bohne.

Erst wenn der Name gesäubert oder konvertiert wurde, wird der
gesamte Name durch eine Übersetzungstabelle gejagt, welche alle
Akzente entfernt.

Danach extrahiere ich die BASE64-Bilder und speichere sie unter
dem gesäuberten Namen ab, oder wenn ich Glück habe, liegt das
Bild als Datei vor, und ich muss er nur umbenennen und verschieben.
Der Name wandert dann in die Datenbank, sofern er dort nicht
vorhanden ist.

Mein Frage bezog sich eigentlich nur darauf, ob es eine Funktion
gibt, die sicher und effizient erkennt, ob ein String Unicode-
Zeichen enthält. Das ist alles;-)

Gruß Klaus

Subject: Re: Unicode-Sequenzen in Strings erkennen
From: Wolfgang Εnzinger
Newsgroups: de.comp.lang.vbclassic
Date: Mon, 15 Apr 2024 22:05 UTC
References: 1 2 3 4 5
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: we_use...@nurfuerspam.de (Wolfgang Εnzinger)
Newsgroups: de.comp.lang.vbclassic
Subject: Re: Unicode-Sequenzen in Strings erkennen
Date: Tue, 16 Apr 2024 00:05:09 +0200
Lines: 25
Message-ID: <mcr3815aigm9.dlg@weu.my-fqdn.de>
References: <ussie2$1amq6$1@solani.org> <ussuv5$13sdr$1@dont-email.me> <usth3d$1ar25$1@solani.org> <usult9$1imai$1@dont-email.me> <usv6qh$1c0di$1@solani.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: individual.net midgeIdi7onVThRD/FtlNgRUxlrzreIVRBG5p4g+ZBfssemc4=
Cancel-Lock: sha1:lGzQsUtfkxRvSqyTmeF78edml4I= sha256:pxefIsVx1eRJpDYzonPz2QRFnF2ZyEbSkzkqdpizMEI=
User-Agent: 40tude_Dialog/2.0.15.41de
View all headers

Am Thu, 14 Mar 2024 16:58:08 +0100 schrieb Klaus Ketelaer:

> Mein Frage bezog sich eigentlich nur darauf, ob es eine Funktion
> gibt, die sicher und effizient erkennt, ob ein String Unicode-
> Zeichen enthält. Das ist alles;-)

Gibt es. Aber das ist in diesem Sinne keine "Funktion". Sondern: man
entnimmt dem Header des heruntergeladenen HTML-Dokuments, welche Codierung
hier verwendet wird.

Das ist ein bisserl ähnlich, wie wenn Preise in einem Supermarkt mit
Beträgen, aber ohne Währung ausgezeichnet sind. Je nach Umgebung kann klar
sein, was gemeint ist, oder eben auch nicht so ganz. In unklaren
Situationen kommt man mit Heuristik ggfs. auch recht weit, aber "sicher und
effizient" ist das dann eben nicht mehr.

Eine ander Analogie wären Koordinaten ohne Angabe des Koordinatensystems.
Wenn dabeisteht, welches System verwendet wird, empfiehlt es sich, diese
Info dann auch zu verwerten. Das ist dann sicher und effizient.

--
Viele Grüße,
Wolfgang
https://www.enzinger.net

Subject: Re: Unicode-Sequenzen in Strings erkennen
From: Wolfgang Εnzinger
Newsgroups: de.comp.lang.vbclassic
Date: Mon, 15 Apr 2024 22:33 UTC
References: 1 2 3 4 5 6
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: we_use...@nurfuerspam.de (Wolfgang Εnzinger)
Newsgroups: de.comp.lang.vbclassic
Subject: Re: Unicode-Sequenzen in Strings erkennen
Date: Tue, 16 Apr 2024 00:33:16 +0200
Lines: 39
Message-ID: <rqdamd7r6f6l.dlg@weu.my-fqdn.de>
References: <ussie2$1amq6$1@solani.org> <ussuv5$13sdr$1@dont-email.me> <usth3d$1ar25$1@solani.org> <usult9$1imai$1@dont-email.me> <usv6qh$1c0di$1@solani.org> <mcr3815aigm9.dlg@weu.my-fqdn.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: individual.net C0nRUx/rSSVoNHFvqlIYjAsNvpqTe72SUX2A7jjPPxYjWEhWY=
Cancel-Lock: sha1:V26VzpMz73pqWQHe9ODm5cHF+fQ= sha256:EAp3xy6AtPRRq06pFZ9HOmatIEvv1IbL0w8nFi0XEas=
User-Agent: 40tude_Dialog/2.0.15.41de
View all headers

Am Tue, 16 Apr 2024 00:05:09 +0200 schrieb Wolfgang Εnzinger:

> Am Thu, 14 Mar 2024 16:58:08 +0100 schrieb Klaus Ketelaer:
>
>> Mein Frage bezog sich eigentlich nur darauf, ob es eine Funktion
>> gibt, die sicher und effizient erkennt, ob ein String Unicode-
>> Zeichen enthält. Das ist alles;-)
>
> Gibt es. Aber das ist in diesem Sinne keine "Funktion". Sondern: man
> entnimmt dem Header des heruntergeladenen HTML-Dokuments, welche Codierung
> hier verwendet wird.
>
> Das ist ein bisserl ähnlich, wie wenn Preise in einem Supermarkt mit
> Beträgen, aber ohne Währung ausgezeichnet sind. Je nach Umgebung kann klar
> sein, was gemeint ist, oder eben auch nicht so ganz. In unklaren
> Situationen kommt man mit Heuristik ggfs. auch recht weit, aber "sicher und
> effizient" ist das dann eben nicht mehr.
>
> Eine ander Analogie wären Koordinaten ohne Angabe des Koordinatensystems.
> Wenn dabeisteht, welches System verwendet wird, empfiehlt es sich, diese
> Info dann auch zu verwerten. Das ist dann sicher und effizient.

Eher heuristisch (oder wenn man will: statistisch) geht denn auch die
Funktion

IsTextUnicode function (winbase.h)
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-istextunicode

vor, aber die obligatorische Warnung steht gleich mit dabei:

"The IS_TEXT_UNICODE_STATISTICS and IS_TEXT_UNICODE_REVERSE_STATISTICS
tests use statistical analysis. These tests are not foolproof. The
statistical tests assume certain amounts of variation between low and high
bytes in a string, and some ASCII strings can slip through."

--
Viele Grüße,
Wolfgang
https://www.enzinger.net


rocksolid / de.comp.lang.vbclassic / Re: Unicode-Sequenzen in Strings erkennen

1
server_pubkey.txt

rocksolid light 0.9.136
clearnet tor