Diese Dateien enthalten die Konvertierungstabellen, um die Zeichensätze von News-Artikeln und E-Mails in den lokalen 8-Bit-Windows-Zeichensatz zu konvertieren. Dieses ist insbesondere im Mailfilter und im News-Scorefile erforderlich, wenn vom ASCII-Zeichensatz abweichende Zeichensätze im Header verwendet werden.
Beispiel:
>From: =?iso-8859-1?Q?=E4rger?= dich nicht <irgend.ein@spammer.invalid>
Bei diesem Beispiel ist es wegen der Quoted-printable-Kodierung nicht ohne weiteres möglich, auf das Wort Ärger zu filtern. Deshalb muss dieser Header vor dem eigentlichen Filtern dekodiert werden. In den Filtern geschieht dieses mit dem Tilde-Symbol (~). Damit der Decoder nun die Zeichensätze der Artikel bzw. E-Mails in den lokalen Zeichensatz umsetzen kann, sind Umsetzungstabellen erforderlich. Diese Konvertierungs-Tabellen müssen für den Hamster folgenden Aufbau besitzen:
cs_<ZeichensatzA>_<ZeichensatzL>.cnv
Hierbei ist <ZeichensatzA> der Zeichensatz in den Artikeln bzw. E-Mails und <ZeichensatzL> der lokale Zeichensatz. In Westeuropa ist auf Windows-Systemen der Zeichensatz windows-1252 als lokaler Zeichensatz üblich. In den Artikeln bzw. E-Mails sind hauptsächlich die Zeichensätze ISO-8859-1, ISO-8859-15 und UTF-8 (als Unicode-Transferformat) üblich.
Beispiel:
cs_SO-8859-15_WINDOWS-1252.cnv
Diese Datei ist für die Konvertierung des ISO-8859-15-Zeichensatzes in den Zeichensatz windows-1252 zuständig.
Welcher Zeichensatz als lokaler Zeichensatz verwendet werden soll, kann im Menü Einstellungen → Grundeinstellungen → Verschiedenes ausgewählt bzw. in der Datei hamster.ini im Abschnitt [Setup] mit der Variablen local.codepage=<Zeichensatz> eingestellt werden.
Die Konvertierungstabellen müssen folgender Regel entsprechen:
ZeichenA=ZeichenL
ZeichenA = zu konvertierendes Zeichen im dezimaler Schreibweise
ZeichenL = lokales Zeichen im dezimaler Schreibweise
Wird vom Decoder für ein Zeichen kein Wertepaar gefunden, so wird es unverändert belassen.
Einige Tabellen sind auch leer, da der Ausgangszeichensatz eine Untermenge des Zielzeichensatzes ist.
Beispiel:
| cs_ISO-8859-15_WINDOWS-1252.cnv | Zeichendarstellung |
| 164=128 | |
| 166=138 | |
| 168=154 | |
| 180=142 | |
| 184=158 | |
| 188=140 | |
| 189=156 | |
| 190=159 | |
Diese Tabelle konvertiert den ISO-8859-15-Zeichensatz in Artikeln und E-Mails zum windows-1252-Zeichensatz.
Hinweis: Zum Testen einer Tabelle eignet sich die hs2-Funktion DecodeMIMEHeaderString. Mit den hs2-Funktionen UTF8toUCS32 und UTF7toUCS16 kann die UTF-Kodierung einer Zeichenkette entfernt werden.