konverzia do Unicode

Sekcia: Programovanie 02.04.2007 | 22:35
GeoRW   Návštevník
Ahojte,

existuje nejaky program (script), ktory by dokazal automaticky skonvertovat stringy v zdrojaku napisanom v Pythone na Unicode stringy. Rucne sa mi to robit nechce :) Dik.
    • Re: konverzia do Unicode 02.04.2007 | 23:35
      Avatar uid0 Debian  Používateľ
      iconv? preco si nenastavis prostredie na utf-8 ked ho chces pouzivat?
      Debian. apt-get into it…
      • Re: konverzia do Unicode 03.04.2007 | 10:46
        Avatar georw Ubuntu 12.04  Používateľ
        Asi som sa nevyjadril presne. V programe je napr.:
        a = ["prečo", "začo", "načo"]

        a chcem, aby mi všetky stringy, t.j. všetko, čo je medzi uvodzovkami skonvertoval na unicode string, čiže:
        a = [u"pre/xdao", u"za/xdao", u"na/xdao"]

        to /xda som si pre "č" teraz vymyslel, ale bude to niečo podobné.
        • Re: konverzia do Unicode 03.04.2007 | 13:11
          Avatar Ladislav Michnovic SuSE  Používateľ
          man recode
          Napr. recode latin2..utf-8 subor
          Konvertuje to sice vsetko, ale zbytok mas predpokladam "v anglictine" bez diakritiky, takze to nezmeni.
          Only man who sells empty boxes is the undertaker.
          • Re: konverzia do Unicode 03.04.2007 | 14:09
            Avatar georw Ubuntu 12.04  Používateľ
            Ok. Dik, vyskusam. Uz len to "u" tam vsade rucne popridavat, ale to uz zvladnem.
          • Re: konverzia do Unicode 03.04.2007 | 20:36
            georw   Návštevník
            Tak nefunguje to, konvertuje to na podivne znaky:
            a = ["preÄ^Ío", "zaÄ^Ío", "naÄ^Ío"]

            A aj keby to skonvertovalo dobre tak tie lomitka tam neda, to je specifice pre pythonov unicode string. Asi to budem musiet skonvertovat rucne :(
            • Re: konverzia do Unicode 03.04.2007 | 20:56
              Avatar uid0 Debian  Používateľ
              vies vobec co to je utf-8?

              >>> u"ľšč"
              u'\u013e\u0161\u010d'

              python cita utf-8 zdrojaky, nemusis tam mat lomitka ako debil...
              Debian. apt-get into it…
              • Re: konverzia do Unicode 03.04.2007 | 22:44
                georw   Návštevník
                Len si skus potom ten program naportovat napr. na SUN a dat nejakemu cinanovi, ci sa mu zobrazia tie znaky dobre. Viem preco to chcem, nemusis sa bat ;)
                • Re: konverzia do Unicode 03.04.2007 | 22:52
                  --   Návštevník
                  > konvertuje to na podivne znaky

                  vies co chces? podla mna to vyzera tak ze vobec nevies co to je kodovanie suboru, utf-8, iso-8859-2... najprv si nastuduj tuto problematiku a potom sa pytaj lebo inac ti budu niektore odpovede dost nanic
                  • Re: konverzia do Unicode 03.04.2007 | 23:00
                    georw   Návštevník
                    Viem, co je kodovanie suboru. Nepozrel som si man k recode (chyba :) - v podstate je to to iste co iconv. Moja otazka bola polozena dobre aj som to hned blizsie vysvetlil, po prvej uidovej odpovedi. No nic, uz to mam aj tak spravene.
                    • Re: konverzia do Unicode 03.04.2007 | 23:12
                      --   Návštevník
                      mozno by sa ti hodilo este si nieco k problematike kodovania zistit aby si vedel co znamenaju tie "podivne znaky" ktore si spominal :-) (ale ak vies preco sa ti zobrazuju takto tak ber tento prispevok ako bezpredmetny :-)
                • Re: konverzia do Unicode 03.04.2007 | 23:08
                  Avatar uid0 Debian  Používateľ
                  no, tak ked vies preco mat v subore namiesto normalnych znakov, ktore funguju vsade text, ktory precita len stroj, tak co uz s tebou.

                  a na SUN-och v cine funguje python rovnako ako vsade inde.
                  Debian. apt-get into it…
                  • Re: konverzia do Unicode 04.04.2007 | 10:13
                    Avatar georw Ubuntu 12.04  Používateľ
                    No problem je v tom, ze prave cinanovi na SUNe sa nezobrazuju cinske znaky, pricom mne ide vsetko v poriadku. Predpokladal by som to skor vo Win. Preto som to chcel takto riesit, aby bol zdrojak ciste ASCII. Ale mozno bude chyba niekde inde.
                    • Re: konverzia do Unicode 04.04.2007 | 16:51
                      Avatar uid0 Debian  Používateľ
                      chyba je akurat tak u neho. nech si zozenie editor schopny pracovat v utf-8. odporucam emacs
                      Debian. apt-get into it…
            • Re: konverzia do Unicode 03.04.2007 | 21:24
              Avatar Ladislav Michnovic SuSE  Používateľ
              Tak sme sa asi nepochopili. To co ty chces je nieco ine ako konverzia z ineho kodovania (napr. iso-8859-2) do kodovania UTF-8, ako som to pochopil ja.
              Only man who sells empty boxes is the undertaker.
              • Re: konverzia do Unicode 04.04.2007 | 22:39
                nobody   Návštevník
                a = [maťo, jožo, paľo]
                print unicode(a)
    • Re: konverzia do Unicode 06.04.2007 | 17:51
      GeoRW   Návštevník
      Takze som sa k tomu dneska dostal a vyriesil tak, ako som to povodne planoval, funguje to. Problem je ak sa pracuje so stringami, ktore pzostavaju zo specialnych znakov a nie su unicode (napr. vyber prvych troch znakov zlava), preto sa mu to nezobrazovalo (i ked mne hej, comu fakt nerozumiem ;). Ak by to niekto v bududcnosti potreboval, nech si mrkne tuto stranku.

      A este bacha na toto:
      >>> u"ľšč"
      u'\u013e\u0161\u010d'

      Funguje to len v konzole. Ak to cita z UTF8 suboru, treba to nacitat normalne a potom skonvertovat (funkcie -> import codecs) alebo si rucne tie stringy previest na pythonovske unicode stringy.
      • Re: konverzia do Unicode 06.04.2007 | 18:36
        Avatar uid0 Debian  Používateľ
        ako? ved si to vyskusaj zo suboru a python ta naviguje na to ako nastavit interpreteru vstupne kodovanie

        http://www.python.org/dev/peps/pep-0263/
        Debian. apt-get into it…