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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 17:02 | Pozvánky

Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.

Miška | Komentářů: 6
dnes 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
dnes 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
dnes 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
včera 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
včera 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
včera 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

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

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 808 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: nekorektný výpis ASCII tabuľky

Libco avatar 5.1.2013 11:13 Libco | skóre: 8 | Banska Bystrica - sk
nekorektný výpis ASCII tabuľky
Přečteno: 639×
Příloha:
Pod Ubuntu mám IDE Code::Blocks.
V prílohe je jednoduchý program na výpis ASCII tabuľky v jazyku C.
Problém je v tom, že vypíše len znaky s decimálnou hodnotou od 33 do 126.
0 - 32 sú neviditeľné, to je v poriadku.
127 - 255 sú ale viditeľné a mne to vypisuje všade 0 (nuly).
Vie mi niekto poradiť, ako nastaviť Code::Blocks aby to fungovalo korektne?

Myslím, že treba nastaviť encoding na výstupe, ale neviem ako.
lama

Řešení dotazu:


Odpovědi

mess avatar 5.1.2013 11:34 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Neměl bys lepší použít funkci int putchar(int c); ? Každopádně to, co uvidíš na výstupu, bude záviset na zvoleném kódování. Vždycky se ti vypíše tabulka toho, které budeš mít zrovna zvolené. Takže si vyber kódování, jehož tabulku chceš vypsat; žádné jediné správné nastavení v tomhle případě není.
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
5.1.2013 11:36 Ariczek | skóre: 4
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
problem bude s tím, že char je signed... takže jsou v něm jen hodnoty od -128 do 127. Změň tu definici na unsigned char.
5.1.2013 11:57 Kit
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
ASCII je v rozsahu 0..127. Takže program funguje.
Libco avatar 5.1.2013 12:37 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Myslel som aj doplnkovú tabulku. Použitie, napr. diakritika v programe.
lama
5.1.2013 12:48 Kit
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Pokud používáš Ubuntu, znaky s diakritikou v programu budou nejspíš v UTF-8. Tady s ASCII nepochodíš.

Můžeš si to prověřit programem hexdump.
pavlix avatar 5.1.2013 13:00 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Mám za to, že ASCII je jasně definované a osmibitová kódování s pevnou šířkou znaku považuju za překonaná.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
5.1.2013 15:21 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
ASCI není pevně definované - pevně je definované pouze 0 až 127, od 128 do 255 si to určuje každý sám - jsou různé verze druhé půlky....IBM, ISO, KAM, LAT

Jinak i znaky 0 až 32 se daly tisknout a grafika je měla ve své rom paměti.

Jinak viz tabulka:

tabulka ascii znaků

wiki ASCII

Jinak k čemu to potřebuješ? Dnes se to už nepoužívá i když někde to přežívá.
5.1.2013 16:16 l4m4
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Nesmysly.

ASCII kódování je přesně definovnáno standarem vydaným ANSI.

I poslední verze tohoto standardu z roku 1986 definuje sedmibitové kódování.

Ta ‚druhá půlka‘ nemá s ASCII nic společného.

Kdyby sis tak přečetl aspoň tu stránku na Wikipedii.
Libco avatar 5.1.2013 16:17 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Napríklad úloha:
3) Vytvořte program pomocí cyklu,který vám na obrazovku vypíše všechny znaky, jako byste psali např. @ (Alt+64). Program se Vám bude hodit, ptž vypíše jak české znaky, tak určité znaky, o kterých možná ani nevíte. Pořád nevíte jak nato? Je to prosté, využijte schopnosti jak dostat češtinu do programu. Detailisti mohou ještě ve výpisu ukázat, jaký kód ke kterému znaku patří.

Úloha to priamo vyžaduje. Vo win to ide, ale v linuxe je problém.
lama
5.1.2013 16:30 l4m4
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Po nastavení HKCU\Control Panel\Input Method\EnableHexNumpad na 1 lze psát pomocí Alt-číselných sekvencí kterýkoli znak Unicode (není to default akorát kvůli konzervativnosti uživatelů, kterým to rozbilo některé naučené sekvence). Takže pokud to má něco vypsat, tak kompletní Unicode.
Libco avatar 5.1.2013 17:26 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Hľadal som "HKCU" aj "Control Panel" v CodeBlocku (ďalej len CB) aj v Ubuntu 12.04.1 a nenašiel, takže neviem ako to mám nastaviť.
V nastavení CB je možnosť nastaviť možno 40 rôznych kódovaní, to mám všetky skúšať zaradom? :-D
Ešte sa pozriem ako je to nastavené v CB vo win7. Možno tam niečo zaujímavé nájdem.
lama
Jendа avatar 5.1.2013 17:35 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Ta cesta byla cesta ve windowsím registru.

Přiznám se, že kdybych dostal podobné zadání, nevěděl bych, co s tím. Asi bych vypsal to, co ty, s tím, že na systému s UTF-8 (a dalšími vícebytovými kódováními) to prostě nebude fungovat.
Libco avatar 5.1.2013 17:49 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Musí byť možnosť. Diakritika sa predsa bežne používa.
lama
Jendа avatar 5.1.2013 18:20 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Ano, ale pomocí multibyte sekvencí. Takže si můžeš napsat generátor, který vygeneruje celé UTF-8 (je toho hodně).
5.1.2013 17:52 Kit
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Není to tak složité. Počet jedniček zleva u prvního bytu znamená, kolik má znak v UTF-8 celkově bytů. Pokud je však těch jedniček víc než 6, jedná se o speciální byte.

Pokud je tam jen jedna jednička, je to pokračovací byte. Pokud je v nejvyšším bitu nula, je to znak ASCII.
Libco avatar 5.1.2013 18:00 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Tak to teda dík. Budem si to musieť preložiť na drobné a otestovať.
lama
5.1.2013 18:14 l4m4
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Na konverzi codepoint (tj. čísla znaku) do UTF-8 najdeš spoustu zrecyklovatelných příkladů, včetně Wikipedie, to by neměl být takový problém.

Následně když na windowsí konzoli spustíš

chcp 65001

měla by se přepnout do UTF-8 codepage, takže vypisování v UTF-8 by mělo začít dělat něco rozumného (s rozumným konsolovým fontem, což nemusí být nutně default).

Poslední problém pak je, že Unicode má bratru čtyři miliardy možných znaků (codepoints) ale akorát kolem 120 tisíc je zatím přiřazeno. Vypsat jen ty přiřazené nejde bez nějaké knihovny pro práci s Unicode, která obsahuje příslušnou databázi. Na školní úlohu je to ale asi trochu overkill...
5.1.2013 18:31 Kit
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Nestraš. Těch znaků jsou jen 2 miliardy.
Libco avatar 5.1.2013 18:51 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Vidím, že sa už bavíte. To som rád. Aj tak si myslím, že časom nájdem jednoduché riešenie. Nemám to ako úlohu, len ma to zaujalo ako ťažko riešiteľný problém.
lama
5.1.2013 18:51 l4m4
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Máš pravdu, v ISO 10646 je to jen do 2^31 (byť běžná implementace je unsigned). Ale máme-li být přesní, tak Unicode jde jen do 0x10FFFF, protože má jen 16 vrstev (planes), a skoro všechno je tak jako tak přiřazeno z té první, tj. BMP. Z hlediska tazatele tím diskuse asi trochu odivergovala...

Co platí: ASCII = 7 bitů, Unicode = spousta bitů, 8 bitů = chaos, nepoužívat.
Libco avatar 5.1.2013 19:07 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Vidím, že si v tom doma. Teraz budem vlezlý.
Čo tak zariadiť, aby to aj v linuxe fungovalo ako vo win?
lama
5.1.2013 19:15 Kit
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Napodobovat Windows v Linuxu? Tak na to zapomeň. V Linuxu to funguje dobře. Pokud chceš nástroj, který bez problému pracuje s Unicode, použij Javu, Python, PHP nebo cokoliv dalšího. V C raději jen pomocí nějaké knihovny, kterou ani neznám.
Jendа avatar 5.1.2013 19:24 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Snad kdybys nastavil locales na nějaké non-UTF nebo použil recode/iconv pro konverzi z CP-1250 na UTF-8.
Řešení 1× (Libco (tazatel))
Libco avatar 5.1.2013 19:29 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Ďakujem za upresnenie páni. Súhlasím so všetkým čo ste napísali. ;-)
Už nejaký čas viem, že nemá význam niečo znásilňovať.
lama
6.1.2013 10:37 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky

Locale mu bude k ničemu, protože on na výstup zapisuje bajty. Respektive to není dostatečné.

Přenositelné řešení je:

  1. Vybrat si znakovou sadu, kterou autor chce zobrazit (ASCII to opravdu není, to je definované jen od 0 do 127).
  2. Každý znak z dané sady převést do znakové sady terminálu, což při správně nastaveném systému odpovídá locale. Zde je třeba si uvědomit, že ne všechny znaky musí být možné převést. Prostě ne nutně je jedna sada podmnožinou druhé.
  3. Převedený znak vypsat na terminál. Zde je třeba si uvědomit, že terminál může některé znaky interpretovat jako řídící, takže se na obrazovce nemusí objevit nic nebo se může stát něco divného (třeba terminál pípne nebo se smaže nebo bude růžový).
6.1.2013 12:06 Matlák
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Problém té úlohy je prostě v tom, že je napsaná pro Microsoft Windows a kódování znaků Windows-1250. Zadavatel zřejmě netuší, že něco jako jiná kódování existuje, natož něco jako jiné operační systémy.

Prostě podle hesla kdo neumí učí.
pavlix avatar 6.1.2013 14:47 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Natož že windows dávno interně přešly na nějakou formu unicode.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
pavlix avatar 6.1.2013 01:53 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
ASCI není pevně definované
ASCI možná ne, ale ASCII docela ano :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Libco avatar 12.1.2013 09:59 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
Přílohy:
Chcem sa všetkým ospravedlniť za moju neznalosť.
Uvedená úloha prináša potrebu použitia doplnkovej ASCII tabuľky (čo sa týka diakritiky) len vo windows.
V linuxe to vôbec nie je potrebné. Tu sa diakritika vypisuje správne.
V prílohách je vidno rozdiel.
lama
12.1.2013 12:22 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: nekorektný výpis ASCII tabuľky
I windows používá UNICODE.

Ovšem v konzoli to asi mapuje na jejich CP1250.

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.