Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
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.
možná vám pomůže man 3 iconv
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ů.
Jasně trochu se v tom ještě neorientuji pod MS-DOS jsem s UNICODE nedělal v tu dobu nebyl.
iconv()? viz Wikipedie
Jasně to asi bude ono - jdu se na to kouknout co to dělá.....
#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); } ........
Tiskni Sdílej: