abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    dnes 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky Ladislav Hagara | Komentářů: 9
    včera 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 22
    8.9. 14:22 | Nová verze

    Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."

    Ladislav Hagara | Komentářů: 4
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (3%)
     (4%)
     (2%)
    Celkem 160 hlasů
     Komentářů: 12, poslední dnes 13:00
    Rozcestník

    Dotaz: Převod UTF-8 na cp1250 v C

    4.2.2009 11:16 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Převod UTF-8 na cp1250 v C
    Přečteno: 2601×

    Potřebuji převést string - řetězec znaků z UTF-8 na cp1250 a nevím jak na to - jakou funkci použít v C.

    Kdyby to bylo pouze překodování znaku je to bez problému, ale problém je že je to UTF-8 takže tam znak může být různě dlouhý a na to nevím jakou funkci v C použít - nikdy jsem s unicode nedělal.

    Nebo to převést na pevnou délku tj UTF-8 na UNICODE (UTF-16) a porovnávat to potom a nahrazovat ?

    Prostě mám program který mi převádí data z linuxu pro PocketPC a potřebuji překodovat znakovou sadu.

    Odpovědi

    4.2.2009 11:38 jiri-j
    Rozbalit Rozbalit vše Re: Převod UTF-8 na cp1250 v C

    možná vám pomůže man 3 iconv

    4.2.2009 14:26 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Převod UTF-8 na cp1250 v C
    Nebo to převést na pevnou délku tj UTF-8 na UNICODE (UTF-16) a porovnávat to potom a nahrazovat ?

    BTW., UTF-16 není Unicode (je to formát kódování používané pro kódování Unicode) a UTF-16 nemá pevnou délku znaků.

    4.2.2009 19:58 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Převod UTF-8 na cp1250 v C

    Jasně trochu se v tom ještě neorientuji pod MS-DOS jsem s UNICODE nedělal :-) v tu dobu nebyl.

    Limoto avatar 4.2.2009 16:48 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Převod UTF-8 na cp1250 v C

    iconv()? viz Wikipedie

    4.2.2009 19:59 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Převod UTF-8 na cp1250 v C

    Jasně to asi bude ono - jdu se na to kouknout co to dělá.....

    26.2.2009 13:52 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Převod UTF-8 na cp1250 v C
    Tak jsem tam dodělal funkci kterou jsem vykrad z jednoho příkladu:
    
    #define DELKA_POZNAMKY 256
    
    char convStr[DELKA_POZNAMKY];
    
    ...........
    
    /* převod kodování */
    
    char * UTF8toWindows (char * from)
    {
        char *p1, *p2;
        iconv_t i;
        size_t fromlen, tolen;
        size_t iconv_value;
    
        errno=0;
    	
        if (strlen(from) > DELKA_POZNAMKY) {
    	perror("ICONV: Poznámka je moc dlouhá.");
            exit(errno);
        }
    
    
        memset(convStr,0,sizeof(convStr));
        tolen = fromlen = strlen(from);
        p1 = (char *)from;
        p2 = (char *)convStr;
    
        i = iconv_open("WINDOWS-1250", "UTF-8");
        if (i == (iconv_t) -1) {
            if (errno == EINVAL)
    	  perror("ICONV: Nepodporuji převod z UTF-8 do CP1250.");
    	else
    	  perror("ICONV: Chyba převodu kodování.");
              exit(errno);
    
        }
    
    
    
        /* Převod */
        /* iconv_value = iconv(i, (const char **)&p1, &fromlen, &p2, &tolen); */
        iconv_value = iconv(i, &p1, &fromlen, &p2, &tolen);
        if (iconv_value == (size_t) -1) {
            perror ("ICONV: Převod kodování se nepovedl.");
    	exit(errno);
        }
        iconv_close(i);
        return(convStr);
    }
    
    ........
    
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.