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 02:22 | Komunita Ladislav Hagara | Komentářů: 4
    včera 23:22 | Komunita

    Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.

    Ladislav Hagara | Komentářů: 3
    včera 22:33 | Nová verze

    Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | Zajímavý článek

    Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.

    |🇵🇸 | Komentářů: 1
    včera 11:22 | IT novinky

    Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a

    … více »
    Ladislav Hagara | Komentářů: 9
    25.3. 19:11 | Komunita

    Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.

    Ladislav Hagara | Komentářů: 6
    25.3. 16:11 | Nová verze

    Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    25.3. 14:11 | Nová verze

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    25.3. 13:11 | IT novinky

    Společnost OpenAI oznámila [𝕏], že ukončí aplikaci Sora pro generování krátkých videí pomocí umělé inteligence. Podrobné informace a harmonogram pro aplikaci a API budou brzy zveřejněny.

    Ladislav Hagara | Komentářů: 11
    25.3. 12:22 | IT novinky

    Evropská směrnice NIS2 přináší nové požadavky v oblasti kybernetické bezpečnosti, které se promítají také do správy doménových jmen. Do českého právního řádu je směrnice implementována prostřednictvím nového zákona o kybernetické bezpečnosti. Jedním z praktických důsledků této legislativní změny je posílení požadavků na dostupnost a správnost kontaktních údajů držitelů domén. Správce registru domény .cz, sdružení CZ.NIC, je v

    … více »
    Ladislav Hagara | Komentářů: 34
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1162 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    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: 2643×

    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.