Re: C + displej hd44780 + vlastní znaky

Miroslav Mraz mrazik na volny.cz
Středa Duben 5 17:48:49 CEST 2017


No, není to zase taková sranda. Upálení byl ten nejmenší trest, který 
mohl Husa za ta nabodeníčka stihnout. Největší problém je v čem to 
napsat. V C-čku by to znamenalo vykrást třeba iconv, nejlepší by byl asi 
perl, nakonec jsem zkusil python, ten může fungovat asi i pod Windows. 
Můžete se to zkusit, zmrší to jen komentáře v češtině, programu by se to 
nemělo dotknout. Lze použít i jiné kódování než utf-8.
---------------------------------------------------
#!/usr/bin/env python
# *-* coding: UTF-8 *-*
import sys
# !!! Nikde nejsou ošetřeny žádné chyby !!!
# Dodefinuj si vlastní kódování, slovník musí obsahovat
# všechny použité paznaky, jinak se vrátí 0xFF
myCodes = {'á':0xE0,'ý':0xE1,'ě':0xE2,'š':0xE3,'č':0xE4}
Prefix  = "c_"
Source_codeset = "utf-8"
#Source_coding = "windows-1250" # vstupní kódování jiné
Thisis_codeset = "utf-8"

def encoding (character):
   enc = character.encode(Thisis_codeset)
   if myCodes.has_key(enc):
     result = myCodes[enc]
   else:
     result = 0xFF
   return "\\0x%02X" % result

def myCoding (infilename):
   infile  = open (infilename, "r")
   context = infile.read()
   infile.close()
   outfilename = Prefix + infilename
   outfile = open (outfilename, "w")
   inputs  = context.decode(Source_codeset)
   output  = ""
   for character in inputs:
     if ord (character) < 128:
       output += character
     else:
       output += encoding (character)
   outfile.write (output)
   outfile.close()
   print "converting to %s" % outfilename
# název konvertovaného souboru je argument skriptu
if __name__ == "__main__":
   if len(sys.argv) > 1:
     myCoding (sys.argv[1])
   else:
     print "použití: %s filename" % sys.argv[0]
---------------------------------------------------
Z tohoho:
const char * string = "Krásný den\n";
to udělá toto:
const char * string = "Kr\0xE0sn\0xE1 den\n";


Mrazík

PS.
Ten kdo python opravdu umí, nechť mě nebije, já se to teprve pomalu 
učím. Ale fakt je, že mě to zatím nijak nenadchlo.

Dne 4.4.2017 v 12:11 Miroslav Draxal napsal(a):
> Řetězce tak nějak odjakživa píšu do jednoho souboru, to je splněné, ale
> konverzní program asi psát nebudu, tedy spíš neumím.
> Díky.
>


Další informace o konferenci Hw-list