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 04:00 | Zajímavý software

    Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.

    Ladislav Hagara | Komentářů: 2
    včera 15:33 | Komunita

    Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Nová verze

    Byla vydána nová verze 26.6.25 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    26.6. 14:44 | IT novinky

    Apple bez varování odstranil ze svého obchodu sociální síť VKontaktě i další aplikace skupiny VK, jako je VK Music nebo VK Video [Novinky.cz].

    Ladislav Hagara | Komentářů: 13
    26.6. 14:22 | IT novinky

    V dubnu loňského roku představený poštovní klient Notion Mail bude 22. září ukončen.

    Ladislav Hagara | Komentářů: 3
    26.6. 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    26.6. 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

    Ladislav Hagara | Komentářů: 0
    25.6. 20:22 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    25.6. 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 3
    25.6. 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 2002 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 2654×

    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.