Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Normalisierung? - Was geschieht hierbei? - do not ignore

0 views
Skip to first unread message

Thomas Barghahn

unread,
Jul 2, 2023, 10:56:15 AM7/2/23
to
*Heiko Rost* meinte:
> Thomas Barghahn schrieb:

>> Bei solchen Schritten (Normalisierung) muss ich dann wirklich immer
>> ehrlich bleiben und zugeben, dass ich es (noch) nicht richtig verstanden
>> habe! Was genau passiert bei einer Normalisierung eigentlich und was ist
>> das Ziel einer solchen Normalisierung?

> Zum Beispiel um ö und ö (wird hoffentlich richtig verschickt) als den
> selben Buchstaben zu interpretieren. Das erste ist der im deutschen
> üblicherweise benutze Umlaut, das andere sind zwei Unicodepoints: ein o
> und das diakritische Zeichen U+0308 (also nur die Punkte darüber).

Soweit ist es mir klar. Stelle ich bspw. einen Satz auf den Kopf, dann
nutze auch ich diese Vorgehensweise.

Beispiel: „uǝso̤l ǝqɐƃɟnⱯ ǝuı̣ǝ„

In diesem Beispiel besteht das auf dem Kopf stehende "ö" aos /zwei/
Zeichen.
Was ist denn nun aber die Normalisierung? ;-)

Vielleicht will der Autor ja, dass seine Umlaute grundsätzlich aus zwei
Zeichen bestehen. Hmm ...

[Supersedes] aufgrund von Fehlern und/oder Ergänzungen! ;-)

Thomas 😷

F'up to :<news:de.comp.text.misc>
--
31,52 48,14 72,05 73,07 49,67 49,67 55,58 98,90 65,24 41,27
48,14 41,20 21,22 48,20 41,20 85,71 48,20 21,22 41,20 21,22
65,62 48,14 76,24 61,60 16,37 14,72 61,60 16,37 41,20 53,30
48,14 22,87 49,31 15,57 48,14 31,52

Marcel Logen

unread,
Jul 2, 2023, 11:15:34 AM7/2/23
to
Thomas Barghahn in de.test,de.comp.text.misc:

>*Heiko Rost* meinte:
>> Thomas Barghahn schrieb:

>>> Bei solchen Schritten (Normalisierung) muss ich dann wirklich immer
>>> ehrlich bleiben und zugeben, dass ich es (noch) nicht richtig verstanden
>>> habe! Was genau passiert bei einer Normalisierung eigentlich und was ist
>>> das Ziel einer solchen Normalisierung?

Was passiert? Codepoints werden nach bestimmten Regeln
(z. B. NFC oder NFD) umsortiert.

Das Ziel? Anschließend kann man verschiedene Unicode-
Strings byteweise vergleichen.

>> Zum Beispiel um ö und ö (wird hoffentlich richtig verschickt) als den
>> selben Buchstaben zu interpretieren. Das erste ist der im deutschen
>> üblicherweise benutze Umlaut, das andere sind zwei Unicodepoints: ein o
>> und das diakritische Zeichen U+0308 (also nur die Punkte darüber).
>
>Soweit ist es mir klar. Stelle ich bspw. einen Satz auf den Kopf, dann
>nutze auch ich diese Vorgehensweise.
>
>Beispiel: „uǝso̤l ǝqɐƃɟnⱯ ǝuı̣ǝ„
>
>In diesem Beispiel besteht das auf dem Kopf stehende "ö" aos /zwei/
>Zeichen.
>Was ist denn nun aber die Normalisierung? ;-)

Normalisierung nach NFD wäre hier die Zwei-Codepoint-
Variante: <U+006F><U+0308>.

Normalisierung nach NFC (composed) wäre die
Ein-Codepoint-Variante: <U+00F6>.

Siehe auch in der UnicodeData.txt:

| 006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F
| 00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6
| 0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;;;;

>Vielleicht will der Autor ja, dass seine Umlaute grundsätzlich aus zwei
>Zeichen bestehen. Hmm ...

Kann sein, aber das ist für einen String-Vergleich evtl.
schlecht. Deshalb die Umformung in einen definierten Zu-
satnd - das ist die Normalisierung.

Marcel
--
╭────╮ ╭──────╮ ..50..╭────╮ ╭────────╮
╭───────╯ ╭─╯ ╰───╮ │ ..50..╰──╮ ╰─╯ ╭─────╯
│ ╭───╯ ╭─╮ ╭───╮ │ ╰───────────╮ ╭──╮ ╭──╮ ╭─╯..60..╰──────
╯ ╰─────╯ ╰─╯ ╰─╯ ╰─────╯ ╰───╯ ╰─╯ ..67..

Heiko Rost

unread,
Jul 2, 2023, 11:42:33 AM7/2/23
to
[Fullquote wegen Gruppenwechsel]

Thomas Barghahn schrieb:

> *Heiko Rost* meinte:
>> Thomas Barghahn schrieb:
>
>>> Bei solchen Schritten (Normalisierung) muss ich dann wirklich immer
>>> ehrlich bleiben und zugeben, dass ich es (noch) nicht richtig verstanden
>>> habe! Was genau passiert bei einer Normalisierung eigentlich und was ist
>>> das Ziel einer solchen Normalisierung?
>
>> Zum Beispiel um ö und ö (wird hoffentlich richtig verschickt) als den
>> selben Buchstaben zu interpretieren. Das erste ist der im deutschen
>> üblicherweise benutze Umlaut, das andere sind zwei Unicodepoints: ein o
>> und das diakritische Zeichen U+0308 (also nur die Punkte darüber).
>
> Soweit ist es mir klar. Stelle ich bspw. einen Satz auf den Kopf, dann
> nutze auch ich diese Vorgehensweise.
>
> Beispiel: „uǝso̤l ǝqɐƃɟnⱯ ǝuı̣ǝ„
>
> In diesem Beispiel besteht das auf dem Kopf stehende "ö" aos /zwei/
> Zeichen.
> Was ist denn nun aber die Normalisierung? ;-)

Normal ist in dem Fall, was für Deine Zwecke zielführend ist.

> Vielleicht will der Autor ja, dass seine Umlaute grundsätzlich aus zwei
> Zeichen bestehen. Hmm ...

Das kann der eine Autor wollen, der andere will es nicht und dann geht
die Sache beim Vergleich schief. Das Thema hat sich aus

| Deswegen meinte ich ja, daß das gesamte Subject zunächst de-
| kodiert werden muß. Dann kann man problemlos vergleichen.

entwickelt. Der Vergleich kann fehlschlagen, wenn Du zwei Zeichenketten
vergleichst, die den Umlaut unterschiedlich darstellen. Für den Leser
sind die beiden Zeilen

Die höhere Wertung
Die höhere Wertung

identisch und soll in Deinem Skript sicher auch als identisch erkannt
werden. Deshalb muß die Vergleichsroutine das irgendwie berücksichtigen.
Sonst produzierst Du bei der Subjectkorrektur möglicherweise so etwas
wie

Subject: Die höhere Wertung (was: Die höhere Wertung)

Bei dem Zitat aus meinem Vorposting hat übrigens auch irgendwer aus dem
ö ein ö gemacht. Irgendeine Nachbearbeitung meinerseits ist nicht die
Ursache, auch bei direkter Abholung mit TB vom Newsserver ist das schon
so. Möglicherweise nimmt flnews von sich aus bereits so eine
Normalisierung vor.

Gruß Heiko
--
Der Mensch ist gut, nur die Nerven sind schlecht.
Mose Ya'aqob Ben-Gavriêl

Michael Bäuerle

unread,
Jul 2, 2023, 1:18:33 PM7/2/23
to
Heiko Rost wrote:
>
> [...]
> Bei dem Zitat aus meinem Vorposting hat übrigens auch irgendwer aus dem
> ö ein ö gemacht. Irgendeine Nachbearbeitung meinerseits ist nicht die
> Ursache, auch bei direkter Abholung mit TB vom Newsserver ist das schon
> so. Möglicherweise nimmt flnews von sich aus bereits so eine
> Normalisierung vor.

Ja, flnews versendet NFC gemäß RFC 5198 (Kapitel 2, Punkt 4):

<https://www.rfc-editor.org/rfc/rfc5198#section-2>
|
| 4. Before transmission, all character sequences SHOULD be normalized
| according to Unicode normalization form "NFC" (see Section 3).
0 new messages