CHARSET [Protokoll]
Die Telnet-Option aus RFC 2066, mit der eine Kodierung vereinbart wird. Der
Grund, warum die Namen eines Spiels ihre Akzente über die Strecke retten, und
die Ursache einiger subtiler Fehler, wenn sie fehlt.
https://www.rfc-editor.org/rfc/rfc2066
Gemessene Verbreitung
114 von 886 eingetragenen Spielen haben es in einem von uns beobachteten
Handshake angeboten (12.9%)
/de/games?protocol=CHARSET
Die Spiele, die hier nicht mitgezählt sind, sind keine Spiele ohne das
Protokoll. Ein Spiel zählt hier, wenn sein Server die Option in einem von uns
beobachteten Handshake angeboten hat; der Rest sind Server, die sie uns nicht
angeboten haben, und Server, deren Handshake wir nicht gelesen haben, und
welches davon zutrifft, können wir Ihnen nicht sagen.
Nach Codebase, unter den Spielen, die wir identifiziert haben
PennMUSH 28 von 34 haben es angeboten
FluffOS 16 von 28 haben es angeboten
RhostMUSH 5 von 40 haben es angeboten
ROM 2 von 55 haben es angeboten
SMAUG 1 von 20 haben es angeboten
AresMUSH 0 von 18 haben es angeboten
CircleMUD 0 von 47 haben es angeboten
CobraMUSH 0 von 2 haben es angeboten
CoffeeMUD 0 von 32 haben es angeboten
DikuMUD 0 von 34 haben es angeboten
Evennia 0 von 11 haben es angeboten
MUCK 0 von 24 haben es angeboten
tbaMUD 0 von 5 haben es angeboten
TinyMUSH 0 von 9 haben es angeboten
CHARSET ist Telnet-Option 42, festgelegt in RFC 2066. Die eine Seite bietet eine
Liste von Zeichensätzen an, die andere wählt einen aus, und beide sind sich
danach einig, wie Bytes auf Zeichen abgebildet werden.
In der Praxis einigt sich die Aushandlung auf UTF-8 oder findet gar nicht erst
statt. Die MUSH-Familie handelt sie merklich häufiger aus als die MUD-Familie —
TinyMUX, RhostMUSH und PennMUSH tun es alle —, was eine Bevölkerung
widerspiegelt, die Prosa schreibt, in der Namen vorkommen.
WAS OHNE SIE PASSIERT
Ein Client muss raten, und geraten wird üblicherweise entweder ASCII oder
Latin-1. Rät er ASCII, wird jedes Byte oberhalb von 0x7F zu einem Fragezeichen;
rät er Latin-1 bei einem UTF-8-Server, wird aus jedem Zeichen mit Akzent ein
Paar Satzzeichen. Beide Fehler sehen aus wie ein Fehler des Spiels und sind
keiner.
Für einen Crawler wird das an einer bestimmten Stelle unangenehm. Unsere eigene
Telnet-Bibliothek setzt ihre aktuelle Kodierung standardmäßig auf ASCII, und
dieser Standard ist nicht folgenlos — mit ihm wird jedes Byte dekodiert, bei
jedem Server, der CHARSET nie aushandelt, und das sind die meisten. Aus diesem
Grund geben wir ihn bewusst selbst vor.
DIE EINE STELLE, DIE CHARSET NICHT ERREICHT
MSSP-Feldnamen und -Werte werden als ASCII dekodiert, gleich worauf sich CHARSET
geeinigt hat, denn eine Subnegotiation ist ein Befehl und kein Text, und die
Spezifikation begrenzt CHARSET auf Text. Das ist vertretbar konform und es ist
verlustbehaftet: Ein Spiel, dessen MSSP-NAME Café Noir lautet, meldet Caf? Noir,
und die ursprünglichen Bytes sind weg, bevor irgendetwas unter unserer Kontrolle
sie zu sehen bekommt.
Wenn Sie auf dieser Website in einem angegebenen Feld ein verstümmeltes Zeichen
sehen und in der Ausgabe des Spiels selbst nicht, dann ist das der Grund, und
von unserer Seite lässt es sich nicht wiederherstellen.
Siehe auch
TTYPE und MTTS — /de/reference/protocols/ttype
Wie man sich verbindet — /de/reference/connecting
TinyMUX — /de/reference/codebases/tinymux