Harryl89 wrote: > > So weit so gut, leider habe ich noch ein Problem mit öäü (es sind > anscheinend keine Displays mit europ. ROM zu kriegen), viel googlen hat > mir auch nicht wirklich geholfen da keine > Anleitung die ich so gefunden habe funktioniert (bzw. ich keine Ahnung > habe wie man eine Zeichenkonvertierung korrekt implementiert.) > > Hallo,
ich habe das von Harryl89 umgesetzte Projekt auch so ähnlich gebaut, natürlich auch mit den beschriebenen Problemen mit den deutschen Umlauten. Da ich das Script von DJanGo aus einem anderen Thread nicht mit dem PiCorePlayer zum laufen brachte, habe ich mich mal selbst im Try&Error-Verfahren an die Umlautproblematik gewagt. Vorweg sei noch gesagt, daß ich von Python keine Ahnung habe. Prinzipiell geht es dabei ja darum, die Zeichenfolge für die Umlaute abzufangen und statt dessen die entsprechenden Codes für die passenden Zeichen im HD44780 Display zu senden. Bei einem normalen ASCII-Zeichen wird ein 8 Bit langer Code geschickt, das Display zeigt diesen korrekt an. Bei den Umlauten wird ein 16 Bit langer Code geschickt, deshalb müßte das Display zwei Zeichen anzeigen, da es nur ein 8 Bit Signal erwartet. Dummerweise sind an den Stellen für die beiden Zeichen aus dem 16 Bit Signal im HD44780 ROM 00 japanische Zeichen hinterlegt. Diese werden natürlich dann auch angezeigt. Nun wird es aber mysteriös, denn bei mir zeigt das Display bei einem Umlaut nicht zwei sondern vier japanische Zeichen an. Warum kann ich mir nicht erklären. Genauer gasagt sind es nicht unbedingt vier Zeichen, sondern es sind auch Leerzeichen dabei. Das liegt daran, daß im Speicher des HD44780 Displays nicht alle Speicherbereiche belegt sind. Wird ein Code für einen nichtbelegten Speicherplatz gesendet, erscheint auf dem Display ein Leerzeichen. Ich habe aber festgestellt, daß bei allen Umlauten immer drei japanische Zeichen identisch und nur eines unterschiedlich ist. Das habe ich mir zu nutze gemacht. Mit der Python string.replace-Methode lassen sich auch Zeichen entfernen. Daher habe ich entsprechende Regeln eingefügt, mit deren Hilfe die identischen drei zeichen entfernt werden und nur das unterschiedliche Zeichen in den korrekten Umlaut umgewandelt wird. Ich habe für meine Zwecke nur die Sonderzeichen ä, ö, ü, Ä, Ö, Ü und ß berücksichtigt, andere kommen bei mir so gut wie nie vor. Bei Interesse kann ich mein Script gerne zum testen weiterleiten. ------------------------------------------------------------------------ piPlayer's Profile: http://forums.slimdevices.com/member.php?userid=65280 View this thread: http://forums.slimdevices.com/showthread.php?t=103464
_______________________________________________ slimserver-de mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/slimserver-de
