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 16:00 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.

    Ladislav Hagara | Komentářů: 2
    dnes 15:33 | IT novinky

    Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její

    … více »
    Ladislav Hagara | Komentářů: 6
    dnes 12:44 | Humor

    Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.

    Ladislav Hagara | Komentářů: 2
    včera 08:00 | IT novinky

    Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí

    … více »
    Ladislav Hagara | Komentářů: 9
    5.8. 17:00 | Zajímavý software

    Společnost Cloudflare představila Cloudflare OS (GitHub), tj. open source platformu navrženou pro integraci umělé inteligence (agentů) přímo do pracovních procesů organizací.

    Ladislav Hagara | Komentářů: 0
    5.8. 12:44 | Nová verze

    Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

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

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    4.8. 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

    Ladislav Hagara | Komentářů: 0
    4.8. 12:22 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 11
    4.8. 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2343 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: C++ zjistit počet znaků ve stringu (UTF8)

    28.2.2012 09:13 Smíšek
    C++ zjistit počet znaků ve stringu (UTF8)
    Přečteno: 1293×

    Ahoj, jak už název říká, potřeboval bych v c++ zjistit ze zadaného stringu počet znaků. Funkce .size() i .length() mi dávají špatné odpovědi při použití diakritiky (ěščřžýáíé,..), počítám s tím že znaky s diakritikou v UTF8 zabírají 2bajty, bez nich 1bajt. Nemáte nějakou odzkoušenou funkci která mi to správně spočítá. Chvíli už hledám, ale na nic kloudného jsem nenarazil. Použitý kompilátor: g++ (Debian 4.6.2-16) 4.6.2


    Řešení dotazu:


    Odpovědi

    Řešení 2× (Vašek Lorenc, Vojtěch Horký)
    28.2.2012 09:48 Kit
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    28.2.2012 10:04 Smíšek
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    Díky :-) funguje parádně
    28.2.2012 14:02 Sten
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    Dovoluju si upozornit, že nejde o počet znaků, ale o počet code pointů. Sice se u českého uživatele většinou nesetkáte s tím, že by jeden znak byl zapsán více code pointy, ale pokud jde o ochranu vstupu, může někdo podle napsat č místo jednoho code pointu U+010D dvěma code pointy U+0063 U+030C, a pak vám ta funkce vrátí, že tam jsou znaky dva, i když je jeden. Zjistit skutečný počet znaků je ale kvůli tomu v Unicode velmi obtížné a musel byste na to použít třeba knihovnu ICU.
    28.2.2012 14:37 Ivan
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    Dik za tip. Tohle jsem netusil. Hadam ze to co popisujes se muze stat pokud uzivatel pouzije Ctrl+C Ctrl+V z PDF.
    29.2.2012 15:05 Sten
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    U PDF to IMO nehrozí, ale třeba MacOS X používá interně (např. na souborovém systému) ty znaky dekomponované (rozložené), i když pro komunikaci by je měl zase složit.
    29.2.2012 10:47 lofcek
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    A ja viem este o dalsich "bonusoch" vyplyvajucich z pouzivania Unicode (nie len utf-8).

    1. Ja uplne jedno, ci mam retazec ulozeny ako "wchar_t*", alebo utf-8 char* - aj tak vo funkciach ako printf sa sirka pocita v znakoch utf-8. Cize printf("%.4ls\n", L"ažšČľňť"); pochopi ako 4 utf-8 znaky - cize: a = 1 znak ž = 2 znaky š = 2 znaky, to by uz nevyslo cele .. takze z neho sa uz neypise nic.

    2. Znaky v korejcine/japoncine a cinstine sice zaberaju len jeden wchar_t, ale v terminale zaberaju sirku 2 znakov. Potom, ked sme robili korejsku lokalizaciu produktu, tak sme zistili, ze existuje wcwidth a wcswidth.
    pavlix avatar 29.2.2012 16:02 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: C++ zjistit počet znaků ve stringu (UTF8)
    A ja viem este o dalsich "bonusoch" vyplyvajucich z pouzivania Unicode (nie len utf-8).
    Možná jsi zmaten tím, že v začátcích Unicode existovalo kódování Unicode, které se jmenovalo stejně jako znaková sada Unicode. Ale to už strašně moc dlouho neplatí.

    Unicode má hodně přes sto tisíc definovaných znaků a teoreticky cca dvě miliardy, takže na uložení obecného codepointu do 16bit číselné proměnné zapomeň. Standard definuje 31-bitové codepointy, aby byly totožné v signed i unsigned 32-bit proměnných.

    UTF-8 je jedno z možných kódování (formátů serializace) znakové sady Unicode. Znaková sada je v tomhle případě abstraktní věc, seznam codepointů (obvykle) pro jednotlivé znaky.

    S tou korejštinou dobrá poznámka.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    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.