RE: Zeichensatz für Lokname bei mfx

#1 von Rainer Müller , 05.01.2011 15:49

Hallo *,

laut der Beschreibung des mfx-Schienenformats in http://www.skrauss.de/modellbahn/Schienenformat.pdf dachten wir ja ursprünglich, dass der Zeichensatz nach ISO 8859-1 verwendet wird. Bei meinen Versuchen stellte ich allerdings kürzlich fest, dass zumindest meine MS1 (AP 1.1) über die Schienen mit UTF-8 arbeitet. Das bedeutet, dass bei einigen Zeichen (3 große Umlaute, durchgestrichenes O, sz und 2 Doppelspitzen) zwei Bytes für ein Zeichen im Decoder belegt werden, sich also die 16 Plätze ggf. reduzieren.

Dem mfx-Decoder an sich ist das egal da er nur Speicher bereitstellt, aber die möglichen Zentralen müssen jeweils den gleichen Zeichensatz verwenden. Hat schon mal jemand nachgesehen, ob da wirklich bei den neueren Zentralen (MS2, CS1, CS1R, CS2, EcosX) auch UTF-8 verwendet wird? Müsste auch in den CAN-Protokollen zu sehen sein, wenn der Lokname einen Umlaut enthält.

Etwas verwundert über die Codierung bin ich schon, werden doch nur GROSSBUCHSTABEN verwendet, insgesamt knapp 80 Zeichen, und dann der Aufwand der Mulibytezeichen - aber UTF-8 ist halt in.

Gruß
Rainer


 
Rainer Müller
InterRegioExpress (IRE)
Beiträge: 317
Registriert am: 29.06.2006
Homepage: Link
Ort: Korntal
Gleise Mä: K und M
Spurweite H0
Steuerung basrcpd
Stromart Digital


RE: Zeichensatz für Lokname bei mfx

#2 von TT800 , 05.01.2011 23:35

Hallo Rainer,

der Name meiner Loks beginnt verständlicherweise sehr oft mit "ÖBB ...", sodass ich Dir UTF-8 bestätigen kann. Die ersten zwei Indizes sind 0xC3, 0x96 - gefolgt von den Indizes 0x42, 0x42.

Bei ISO 8859-1 müsste das "Ö" ja 0xD6 sein.

Dass das meine CS2 richtig wiedergibt, ist keine Frage - habe ich doch dort den Namen eingegeben. Interessant ist, dass bei einem ESU-Decoder auch der Lokprogrammer das "Ö" richtig anzeigt. Also ist vermutlich UTF-8 schon von den mfx-Anfängen an in Verwendung.

Zitat
... werden doch nur GROSSBUCHSTABEN verwendet ...

Das kann ich nicht nachvollziehen, denn ich habe meinen "Meßwagen" genauso in der Lokliste geschrieben. Zugegeben, der ist nicht in einem mfx-Decoder abgespeichert, was aber auch kein Problem darstellen würde. Der Meßwagen hat aber halt noch den MM1 Decoder!


Viele Grüße,
Stephan
__________________________________________________________________________
[60211{60128connected}+60215{GUI:4.2.13|GFP:3.81}+60216{GUI3:2.4.1(0)|GFP3:12.113}+CS3webApp]
Insider seit 1993 - HeimatBf: MIST Wien - http://www.insider-stammtisch.net/


TT800  
TT800
Metropolitan (MET)
Beiträge: 3.898
Registriert am: 31.07.2009
Ort: Weinviertel, Niederösterreich
Spurweite H0
Steuerung Märklin
Stromart Digital


RE: Zeichensatz für Lokname bei mfx

#3 von est2fe , 06.01.2011 08:17

Hallo,

jetzt wird es aber interessant! Wenn das "Ö" zwei Zeichen im Decoder benötigt, dann geht da ja bei vielen Sonderzeichen der Speicherplatz im Decoder aus! Angenommen ich schreibe einen Loknamen mit 16 Ös, wie wird das dann im Decoder abgelegt? Dann wäre ja nur ein Name mit max. 8 (Sonder-)Zeichen möglich! Kann das mal jemand genauer untersuchen? Meines Wissens hat der Decoder angeblich doch nur für 16 Zeichen Platz.

Gruss

est2fe


est2fe  
est2fe
EuroCity (EC)
Beiträge: 1.452
Registriert am: 07.06.2007
Gleise C + M
Spurweite H0
Steuerung 6021 IB1 MS1 MS2 CS2 CS3
Stromart Digital


RE: Zeichensatz für Lokname bei mfx

#4 von TT800 , 06.01.2011 12:33

Zitat von est2fe
Hallo,

jetzt wird es aber interessant! Wenn das "Ö" zwei Zeichen im Decoder benötigt, dann geht da ja bei vielen Sonderzeichen der Speicherplatz im Decoder aus! Angenommen ich schreibe einen Loknamen mit 16 Ös, wie wird das dann im Decoder abgelegt? Dann wäre ja nur ein Name mit max. 8 (Sonder-)Zeichen möglich! Kann das mal jemand genauer untersuchen? Meines Wissens hat der Decoder angeblich doch nur für 16 Zeichen Platz.

Gruss

est2fe


Durch die Weiterentwicklung der auf 1-Byte basierenden Zeichensätze musste man eben diesen Ausweg suchen. Ich glaube nicht, dass das bei jemanden ein reales Problem darstellen wird, wenn er als Loknamen unbedingt nur Mehr-Byte Zeichen verwenden will. Wobei ich zugebe, dass ein Lokname mit mongolischen Zeichen (3-Byte nötig) sogar nur mehr 5 Zeichen lang sein kann.

Faktum ist, dass 16 Indizes für den Loknamen zur Verfügung stehen, und jeder Index 1 Byte groß ist. Die Meinung, dass dies auch 16 Zeichen entspricht, war in Bezug auf das mfx-System eben nicht ganz korrekt.

Da der CV-Speicher von mfx-Decodern aber dynamisch strukturiert ist, steht ja grundsätzlich einer geänderten Root-Blockgröße - so sie nötig werden würde - nichts im Wege. Auch die Zentralen könnten ja in einem Update über zu ändernde Lesebefehle informiert werden. Aber das bleibt sicher alles nur Theorie.


Viele Grüße,
Stephan
__________________________________________________________________________
[60211{60128connected}+60215{GUI:4.2.13|GFP:3.81}+60216{GUI3:2.4.1(0)|GFP3:12.113}+CS3webApp]
Insider seit 1993 - HeimatBf: MIST Wien - http://www.insider-stammtisch.net/


TT800  
TT800
Metropolitan (MET)
Beiträge: 3.898
Registriert am: 31.07.2009
Ort: Weinviertel, Niederösterreich
Spurweite H0
Steuerung Märklin
Stromart Digital


RE: Zeichensatz für Lokname bei mfx

#5 von Rainer Müller , 06.01.2011 18:50

Hallo Stephan,

Zitat von TT800
Hallo Rainer,

der Name meiner Loks beginnt verständlicherweise sehr oft mit "ÖBB ...", sodass ich Dir UTF-8 bestätigen kann. Die ersten zwei Indizes sind 0xC3, 0x96 - gefolgt von den Indizes 0x42, 0x42.

Bei ISO 8859-1 müsste das "Ö" ja 0xD6 sein.

Dass das meine CS2 richtig wiedergibt, ist keine Frage - habe ich doch dort den Namen eingegeben. Interessant ist, dass bei einem ESU-Decoder auch der Lokprogrammer das "Ö" richtig anzeigt. Also ist vermutlich UTF-8 schon von den mfx-Anfängen an in Verwendung.

Zitat
... werden doch nur GROSSBUCHSTABEN verwendet ...

Das kann ich nicht nachvollziehen, denn ich habe meinen "Meßwagen" genauso in der Lokliste geschrieben. Zugegeben, der ist nicht in einem mfx-Decoder abgespeichert, was aber auch kein Problem darstellen würde. Der Meßwagen hat aber halt noch den MM1 Decoder!




besen Dank für deine Bestätigung.

Beobachtet mit meiner MS1 habe ich folgende Codierungen (Zeichen - ISO 8859-1 - UTF-8):
Ä - 0xC4 - 0xC3 0x84
Ö - 0xD6 - 0xC3 0x96
Ü - 0xDC - 0xC3 0x9C
Ø - 0xD8 - 0xC3 0x98
ß - 0xDF - 0xC3 0x9F
« - 0xAB - 0xC2 0xAB
» - 0xBB - 0xC2 0xBB

Bezüglich der Kleinbuchstaben: mit der MS1 schaffe ich es nicht, die einzutragen. Habe mich auch schon gefragt, was das (kleine !) "ß" soll ohne andere Kleinbuchstaben.

Gruß
Rainer


 
Rainer Müller
InterRegioExpress (IRE)
Beiträge: 317
Registriert am: 29.06.2006
Homepage: Link
Ort: Korntal
Gleise Mä: K und M
Spurweite H0
Steuerung basrcpd
Stromart Digital


RE: Zeichensatz für Lokname bei mfx

#6 von Rainer Müller , 07.01.2011 11:05

Hallo est2fe,

Zitat von est2fe
Hallo,

Kann das mal jemand genauer untersuchen? Meines Wissens hat der Decoder angeblich doch nur für 16 Zeichen Platz.



also ich wollte den Namen auf ÄÖÜÄ«»1234567890 setzen, das wären genau 16 Zeichen. Die 9 war allerdings das letzte, was die MS1 angenommen hat, und beim Druck auf OK ist dann folgendes passiert:
- ausgesendet wurde das Programmieren bis zur 3 an Platz 15, danach 0 für Platz 16 (siehe Anlage)
- der angezeigte Lokname auf der MS1 ging auch nur bis zur 3, war also nur noch 9 Zeichen lang
- bei erneuter Namensänderung erinnerte sich die MS auch nur bis zur 3

Daraus zwei Erkenntnisse
- Umlaute brauchen wirklich 2 Byte, die MS bemerkt das aber erst nach OK
- die MS speichert pro Name nur 16 Byte und setzt dabei das letzte immer auf 0, so dass auch bei normalen Namen nur 15 Zeichen Länge möglich sind - das kann man ganz einfach nachvollziehen

Gruß
Rainer

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

 
Rainer Müller
InterRegioExpress (IRE)
Beiträge: 317
Registriert am: 29.06.2006
Homepage: Link
Ort: Korntal
Gleise Mä: K und M
Spurweite H0
Steuerung basrcpd
Stromart Digital


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz