Starší komentáře ke článku: Znakové sady v praxi - UTF-8

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 0:53:25

Autor je zřejmě schizofrenní (nemyšleno nijak zle :-)). Jak jinak si vysvětlit, že kódování UTF-8 zapisuje v kódování UCS-2? Přijímám totiž autorovu premisu, že prohlížeč interně pracuje s řetězci v UCS-2. Potom ale každý znak řetězce (buff) obsahujícího byty UTF-8 kódování bude do paměti zapsán jako byty dva. Autor totiž používá řetězec jako pole bytů, čímž podle jeho slov není. Je polem wordů (dvojic bytů).
Dále pokud prohlížeč pracuje v UCS-2, můžeme zapomenout na výskyt znaků s kódem >= 2^16 v řetězci. Bylo by proto lepší, kdybychom se tvářili, že prohlížeč pracuje v UCS-4.

Avatar

Autor komentáře: Petr Bříza

Datum vložení: 30.12.2003 10:31:23

V JavaScriptu v prohlížeči samozřejmě tato konverze samozřejmě nemá žádné opodstatnění, nejen z uvedeného důvodu (řetězec není pole bajtů). Uvedený příklad slouží pouze pro ukázku, jak takový algoritmus pracuje. Praktické využití je např. v ASP, avšak já jsem záměrně použil syntaxi JavaScriptu, protože má blíže k dalším jazykům než Visual Basic Script.

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 11:20:30

Chápu Vaše didaktické důvody. I když IMO implementace v C by byla nejvhodnější. :-) Např. byste měl zmínit, jak se obejít bez funkcí String.fromCharCode a String.charCodeAt, které nemusí mít ekvivalenty ve spoustě programovacích jazyků. Rovněž mé předchozí postřehy by se mohly v článku objevit, aby přemýšlivý čtenář (občas se najde :-)) nemusel zbytečně kroutit hlavou.

Avatar

Autor komentáře: Petr Bříza

Datum vložení: 30.12.2003 11:28:57

JavaScript je céčku v základní syntaxi relativně podobný, a může si jej vyzkoušet každý. Zmíněné funkce mají své ekvivalenty prakticky všude, někde může být i praktičtější práce s textem ne jako řetězcem, ale přímo jako s polem bajtů, to ovšem skoro nic nemění. Způsob práce s poli / řetězci / znaky závisí na daném jakyku a není to tématem článků. Pokud někdo není schopen algoritmus upravit pro dané prostředí, zřejmě jej ani nebude umět správně použít.

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 13:35:01

<I>Pokud někdo není schopen algoritmus upravit pro dané prostředí, zřejmě jej ani nebude umět správně použít. </I>

Za sebe musim rici, ze mi tato uvaha nevyhovuje.

Byl by problem, konkretneji naznacit - takovy php skript s komentarem - imho na to nevidim nic spatneho - nekomu to muze (nedej boze :) pomoci. ten, kdo _nechce_ do problemu proniknout se tim nebude zajimat tak jako tak a pouzije zde jiz nekde zminene hotove knihovny (iconv) apod.

Z meho pohledu zustava clanek pomerne povrchnim zdrojem pouze filozofickeho nametu, ktery se da (pravda nelokalizovany) najit i jinde, tady jsem se tesil _i_ na pro_blbecky_navod_na_konverzi ... :)

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 30.12.2003 14:13:17

aha, takže ty umíš jen PHP a všichni se ted podělejte a ukažte mi to, protože můj rozhled mimo PHP nesahá - článek NENÍ o PHP a není ani pro tebe, protože opravdu není pro blbečky, co nejsou s to pochopit princip triviální funkce.
PHP dodnes UTF-8 korektně nepodporuje, takže na co by ti taková funkce byla? Na prd...
A ti co pracují v pokročilejších systémech se jistojistě v C orientují - takže je to přesně jak psal předchozí přispěvatel. Prober se ty sebestředný zaostalý phpčkáři...

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 17:50:44

mam rad lidi, co umi poradit a skryvaji sve vedomosti v domeni, ze utajenim si zajisti nepostradatelnost. Vas prispevek je urazejici, nechapu proc? Ale budiz Vy jste evidentne velky programator, nema smysl, s lidmi jako jste Vy ani cokoliv probirat. Vase rekace me jednoduse mrzi, pritom by mi stacilo treba toto:

<a href='http://forum.builder.cz/read.php?f=20&i=60595&t=60554' target='_blank'>http://forum.builder.cz/read.php?f=20&i=60595&t=60554</a> (btw: az VY napisete tuto "trivialni funkci", dejte mi vedet, rad si Vas zaplatim ...)

Taktez Vase averze vuci php mi prijde zcestna - jak php (ne)podporuje UTF mi muze byt napul jedno

1) protoze se mi muze jednat o konverzi mezi jinymi sadami
2) navic muzu chtit konvertovat data v databazi, v externim souboru a tam jsem zatim na problemy typu "nezvladne" nenarazil - pokud Vy to v php neumite, je to Vas osobni problem a nezatezujte tim prosim okoli.

Taktez jsem rekl _napr._ v phpku, takze zbytek Vaseho prispevku je trosku demagogicky, ale to zrejme casem (a vekem po skonceni puberty) dojde :)

ja Vam take preju hodne uspechu a dekuji za plodny prispevek

btw: s Vami si netykam - nevim o tom, ze bychom se znali

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 18:38:16

a jeste jedna vec - zajimalo by mne, co vsechno Vy povazujete za pokrocilejsi systemy - cekam odpovedi typu .NET, J2EE - jako dejme tomu, ze to vezmu, jakoze polemika na dlouhe lokty. Za dalsi by me pak zajimalo, kde konkretne (krom top enterprise reseni) se projevi nedostatky phpka oproti "pokrocilejsim" systemum.

Kde presne nebude stacit. A i kdyz teoreticky prijmu minimalne diskutabilni vyrok typu "php_neni_na_profi_reseni", tak z jakeho ja mam mirit do top level sfer. To jako tady na intervalu, kdo neumi c++ neni clovek, nebo jak?

Prvne ja svou neznalost problemu priznal, na coz Vy nemate ani ego ani odvahu. Ale jste spravnej chlap a programator a tak to ma byt .... :)

Avatar

Autor komentáře: DeathWalker

Datum vložení: 6.9.2004 11:54:48

Váš jedinečný štýl odpovedi vystihuje vašu inteligenčnú úroveň.

Pre jakuba: Môžete použiť mbstrings (zakompilovane v PHP) ale spolahlivejšie sú iconv funkcie, poprípade recode.

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 1:08:40

abych pravdu rekl, ale jsem (ted uprimne) moc tupy na implementaci napr. v phpku - zajimalo by mne, jak tyto algoritmy pouzit v ciste server-side skriptech

imho mi totiz prijde pohodlnejsi iconv, nebo spise mi unika smysl clanku (ted nic ve zlem) - ale je to filozoficke vysvetleni interni funkce (i takove iconv) konverznich programu, nebo ... nevim ...

Avatar

Autor komentáře: Lukáš Lánský

Datum vložení: 30.12.2003 9:38:43

Pořiď si ASP.NET, který s tímto formátem pracuje nativně a nebudou problémy. Navíc zvládá i převody mezi různými kódováními. Viz <a href='http://www.aspnetwork.cz/art/clanek.asp?id=212' target='_blank'>http://www.aspnetwork.cz/art/clanek.asp?id=212</a>.

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 11:05:23

Je ASP.NET open a free? Hm, ne? Tak má smůlu. Jinak jste předvedl demagogii jak vyšitou. Že pracujete v marketingové či PR agentuře? :-)
PHP též zvládá převody mezi nejroznějšími kódováními (<a href='http://cz.php.net/manual/cs/function.iconv.php' target='_blank'>http://cz.php.net/manual/cs/function.iconv.php</a>, <a href='http://cz.php.net/manual/cs/function.recode-string.php)' target='_blank'>http://cz.php.net/manual/cs/function.recode-string.php)</a>. A s multibyte řetězci umí rovněž pracovat (<a href='http://cz.php.net/manual/cs/ref.mbstring.php)' target='_blank'>http://cz.php.net/manual/cs/ref.mbstring.php)</a>.

K Jakubovi. Implementace algoritmu v jazyce, který nemá ekvivalenty metod String.fromCharCode a String.charCodeAt, je jen malilinko obtížnější. Unicode kód se získá sečtením několika čísel. A to raději než přes definici např. dvoubajtového čísla u UCS-2 (problém s little vs. big endianem). Jedná se o jednoduchý algoritmus a jeho implementaci musí zvládnout každý programátor. Jinak nechť se programovat naučí.
Článek popisuje, jak které kódování vypadá. Myslím si, že konkrétní příklady algoritmů jsou velmi vhodné. Např. v PHP (a asi ve většině jazyků) jsou algoritmy už implementovány v knihovnách. Někdo ty knihovny však musel naprogramovat!
Když máte černou skříňku a něco se rozbije, musíte ji vyměnit anebo ji nepoužívat. Pokud víte, jak skříňka funguje, můžete ji opravit/upravit. Proto se hodí znalost, jak co funguje. (Dobře to ilustruje přístup v Linuxu [opravit] a ve Windows [přeinstalovat]. -- no flame please)

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 12:15:04

zlato, zlato - tak prvne ASP.NET je free, neni open, coz nekomu vadit muze, ale nemusi, jinak souhlasim s tim PR a spol.

za druhe Vase odpoved je stejne zahadna jako cely clanek - me zajima _jen_ ukazka implementace algoritmu - jestli me nekdo nyni vyfu*kuje za lenost, budiz, ale moje otazka znela takto.

Dalsi radky jen konstatuji, to, co ja jsem uz uvedl ve svem puvodnim dotazu, takze si pripadam trosku zmaten - JA VIM, ZE INTERNE tyto algoritmy (nebo podobne) jiz pouzivaji knihovny !!! - ta uuuukazka

<I>Jedná se o jednoduchý algoritmus a jeho implementaci musí zvládnout každý programátor. Jinak nechť se programovat naučí. </I>

vite, nezlobte se, ale ja svou blbost priznal, todle je bud kopani do mrtvoly (coz je trosku nefer) nebo nevim, jestli nechcete poradit, ukazat, prosim, ale tuhle vetu jsem opravdu nepochopil ...

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 13:13:29

Free as a speech not as a beer.
Tak teď Vám nerozumím. Pokud neumíte programovat, proč Vás zajímá ukázka programu? Jestliže se chcete naučit programovat, pro začátek mohu doporučit Algoritmy a programovací techniky od Pavla Töpfera. (Berte to jako vyfu*kování. :-)
Ukázku algoritmu (pravděpodobně v C) najdete ve zdrojových kódech těch knihoven, protože PHP je OSS.
Žádné kopání do mrtvoly, ale nakopnutí směrem, kam se máte ubírat -- naučit se programovat.

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 13:31:38

uff, tak dekuji za to zaskatulkovani "neumite programovat", ale budiz ... zajimave je, ze vyse upozornujete na to same - tedy jak to udelat pri absenci ekvivalentu pouzitych funkci ...

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 13:39:46

Free as a speech not as a beer.

v tomto smeru je imho pro vyvoj asp stejne free jako php, rozdil pociti az koncovy zakaznik - jak kdy a jak na co to muze/nemusi vadit - ja volim variantu php a spol, coz nic nemeni na vyse recenem.

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 13:45:48

a k te knizce, ted jsem na to koukal a ja to mozna preci jen jeste upresnim: ja nemam problem s myslenkou algoritmu (nebo jeste jinak, neni to podstatna cast reseni meho problemu) jako spis jak nahradit ty funkce. Princip vytvoreni tabulek, poli a prekodovani je mi jasny ...

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 15:16:43

Tady je ten výpis programu v PHP, který překóduje řetězec z UTF-8 do UCS-4. Nijak zvlášť jsem to neladil. Předpokládá dle definice PHP, že řetězec je posloupnost bytů. Dále předpokládá alespoň 32bitový celočíselný typ (definice proměné $znak).
Žádné převodní tabulky nejsou potřeba, neboť se nemění kód znaku (vše je unicode!), jen se mění způsob zápisu toho kódu.
Je to minimalistická varianta, takže snad se v ní vyznáte. :-) Pro lepší čitelnost mohu poslat mailem. (Ozvěte se na chudoba@post.cz.) Jo a dlužíte mi alespoň jedno pivo. ;-)

<?php
function utf8_to_ucs4($text) {
$length = strlen($text);
$i = 0;
$buff = array();
while($i < $length) {
if ((ord($text[$i]) & 0x80) == 0x00) {
// standardni ASCII
array_push($buff,0x00); array_push($buff,0x00); array_push($buff,0x00);
array_push($buff, ord($text[$i]));
}
else {
$bytes = 0;
$znak = 0x00;
// kolika-bytovy je znak
while((ord($text[$i]) << $bytes) & 0x80)
$bytes++;
$znak = ord($text[$i]) & ~(0xff << (7 - $bytes));
while($i < $length && (ord($text[$i+1]) & 0xC0) == 0x80 && $bytes > 1) {
$znak = ($znak << 6) | ord($text[$i+1]) & 0x3F;
$i++;
$bytes--;
}
if($bytes == 1)
// byl nacten cely znak
for($j = 3; $j >= 0; $j--)
array_push($buff,($znak >> $j*8) & 0xFF);
}
$i++;
}
return $buff;
}

// echo chr(254).chr(255); // potreba pro UCS-16
$buff = utf8_to_ucs4("Ahoj sv\xC4\x9Bte!");
foreach($buff as $char)
echo chr($char);
?>

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 15:44:38

Když na to tak koukám, tak ani není potřeba definovat $buff jako pole, ale stačí jako řetězec. Lepší verze.

<?php
function utf8_to_ucs4($text) {
$length = strlen($text);
$i = 0;
$buff = "";
while($i < $length) {
if ((ord($text[$i]) & 0x80) == 0x00)
// standardni ASCII
$buff .= "\x00\x00\x00".$text[$i];
else {
$bytes = 0;
$znak = 0x00;
// kolika-bytovy je znak
while((ord($text[$i]) << $bytes) & 0x80)
$bytes++;
$znak = ord($text[$i]) & ~(0xFF << (7 - $bytes));
while($i < $length && (ord($text[$i+1]) & 0xC0) == 0x80 && $bytes > 1) {
$znak = ($znak << 6) | ord($text[$i+1]) & 0x3F;
$i++;
$bytes--;
}
if($bytes == 1)
// byl nacten cely znak
for($j = 1; $j >= 0; $j--)
$buff .= chr(($znak >> $j*8) & 0xFF);
}
$i++;
}
return $buff;
}

// echo chr(254).chr(255); // potreba pro UCS-16
echo utf8_to_ucs4("Ahoj sv\xC4\x9Bte!");
?>

Avatar

Autor komentáře: Ritchie

Datum vložení: 30.12.2003 15:46:43

Chyba
místo for($j = 1; $j >= 0; $j--)
má být for($j = 3; $j >= 0; $j--)

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 17:51:57

Dekuji, tak podrobne jsem to ani necekal - oplatkou snad muze byt vyse uvedeny link, kde se to resi tridou.

Avatar

Autor komentáře: james

Datum vložení: 5.10.2004 8:26:29

jo to jo

Avatar

Autor komentáře: Jerry

Datum vložení: 26.1.2004 17:21:27

Náhodou jsem se sem dostal a jak to tak čtu, rád bych něco opravil: ASP.NET je i open, sice v tuto chvíli ještě ne v ostré verzi, nicméně je pro malé weby již použitelné: <a href='http://www.go-mono.org/' target='_blank'>http://www.go-mono.org/</a>. Sám na něm provozuji svůj pidiweb pod Gentoo + Apache2.
Pokud by chtěl někdo testovat momentálně poslední verzi 0.29, doporučuji stáhnout raději aktuální verzi z CVS, mezi verzemi 0.28 a 0.29 došlo k přepsání velké části knihoven týkajících se právě ASP.NET, díky čemuž se sice zpracování požadavků značně zrychlilo (i když bohužel pořád na microsoftí originál zdaleka nemá), ovšem zároveň tam autoři zanesli poměrně dost nových chyb; zaplaťpánbůh jejich bugzilla funguje celkem rychle...

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 12:09:49

ty fyfo, tak to je narez, tahle odpoved - jako php to umi taky, tak proc mam podle Vas _porizovat_ .NET, ja se ptal na konkretni ukazku implementace ve skriptu tohoto clanku, nativni ovladani a prevody (ktere UMI I PHP) me nezajimaji

Avatar

Autor komentáře: Petr Bříza

Datum vložení: 30.12.2003 10:37:27

Pokud pracujete v PHP, máte k dispozici iconv a vyhovuje vám, pak se na něj samozřejmě můžete spolehnout a nepoužívat vlastní funkce. Přesto si myslím že i vám se může hodit hlubší znalost kódování utf-8. A si myslíte opak, pak článek prostě pro vás není určen ;)

Avatar

Autor komentáře: jakub

Datum vložení: 30.12.2003 12:08:12

no, ja se rad priucim, akorat jsem to z toho moc nedopochopil - iconv je v poho, chtel jsem se jen zeptat, jestli nekdo z pritomnych prihlizejicich podle tohoto (ci jineho) navodu sestavil konverzi na urovni server-side skriptu - tot vse - pripadne by se hodila ukazka prikladu ... :)

Avatar

Autor komentáře: Tomáš Podoba

Datum vložení: 30.12.2003 22:04:50

Tento tutorial se mi hodil. Sice jsem si ho precetl, ale beztak mi asi nepomuze. Mam semestralni projekt do C++ konverze HTML kodu mezi win1250, ISO8859-2 a Unicode.. Prvni dva mam, pouzil jsem tabulky na prevody znaku, ktere jsem nasel na internetu.
Jenze do Unicode je to problem. Pomuzete mi nekdo? Program je hotov, jenom potrebuji ty tabulky. Ja osobe si myslim ze ani nejsou a budu muset pouzit interprety á apod.
Ted babo rad :)

Avatar

Autor komentáře: Ritchie

Datum vložení: 31.12.2003 3:31:28

ČVUT? Co vás tam učí? <a href='http://www.unicode.org/Public/MAPPINGS/' target='_blank'>http://www.unicode.org/Public/MAPPINGS/</a>
Jinak převod do unicode je hóóódně široký pojem. Jaké konkrétní kódování máš/mají na mysli? UCS-2, UCS-4, UTF-7, UTF-8, UTF-16, atd. Nezapomeň, že některá začínají magickou posloupností znaků.
IMO se jedná plýtvání lidskými zdroji. Knihovny i programy již existují (vivat iconv a recode).

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 31.12.2003 10:05:30

Plýtvání lidskými zdroji a destrukce inteligence je přeci důvodem existence vysokého školství, ne? Bez blahodárného působení VŠ by mohl národ příliš zmoudřet a třeba by ho to tady přestalo bavit ;-)

Avatar

Autor komentáře: jakub

Datum vložení: 31.12.2003 10:40:28

<I> Bez blahodárného působení VŠ by mohl národ příliš zmoudřet a třeba by ho to tady přestalo bavit ;-) </I>

bez ohledu na to, jestli je toto ironie, je toto bohuzel pravda

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 1.1.2004 15:36:43

Ale houby. Záleží na tom, na jakou školu chodíte a hlavně na tom, jestli tam jenom chodíte. Vysoká škola, má-li mít nějaký smysl, vyžaduje od studenta značnou dávku samostatné práce. Pokud to někdo nepochopí a považuje ji jen za jakési pokročilejší gymnázium, kde mu nalijí do hlavy vše potřebné, je to jeho problém a neměl by to svádět na školu.

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 1.1.2004 15:48:04

V zásadě s Vámi souhlasím, bohužel však má vlastní praxe ukazuje, že jde spíše o ideální stav, jemuž je možno se blížit, či, jako v případě oněch několika VŠ, které jsem důvěrněji poznal, naopak vzdalovat. Obávám se, že většina škol (nejen VŠ) u nás je především o drilu a odříkávání pouček zpaměti. Netvrdím, že lexikální vědomosti jsou špatné, je však třeba je doplnit osobní angažovaností. A kde má student k něčemu takovému přijít, když ve škole je za jakoukoli osobní iniciativu trestán? Pak to dopadá tak, že někdo "kvůli papíru" vystuduje medicínu, ale živí se webdesignem ;-)

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 1.1.2004 15:53:24

Mimochodem, nemyslím si, že je chyba v učitelích, ale v systému jako takovém. Ten totiž na iniciativní prcovníky VŠ tlačí tak tvrdě, že buď ze škol odejdou, nebo rezignují. Znám několik stovek profesorů a několik desítek důvěrněji, přesto bych na prstech jedné ruky spočítal osobnosti, které se nepoddaly. Zvláštní je, že ani jedna z nich se ve služebních žebříčcích nedostala nijak vysoko (maximálně na zástupce přednosty ústavu, co já vím ;-)

Avatar

Autor komentáře: jakub

Datum vložení: 1.1.2004 19:33:09

Presne, snad ani nevim, co dodat.

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 2.1.2004 0:21:51

Ještě si neodpustím jeden terminologický rýpanec: opravdu znáte několik stovek <I>profesorů</I>? Na označování každého vyučujícího (mnohdy i středoškolského) slovem <I>profesor</I> jsem trochu alergický. <I>Profesor</I> je poměrně vysoký akademický titul - jeho držitelé jsou například jmenováni prezidentem, podobně jako třeba generálové, a k jeho získání musejí opravdu něco dokázat (pomineme-li výstřelky typu profesury Václava Klause).

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 2.1.2004 14:58:16

Inu dobrá, myslel jsem několik stovek vysokoškolských učitelů (docentů, asistentů atd. ;-) Těch skutečných profesorů bude něco málo přes stovku ;-)

Avatar

Autor komentáře: jakub

Datum vložení: 1.1.2004 19:42:57

je to OT, takze staci rict a skoncim nebo muzeme e-mailem. Nyni zareaguji:

S tim drilem neni co dodat.
ad angazovanost a spol Ja jen z vlastni zkusenosti reknu, ze podobne veci me osobne znacne demotivuji.
Dalsi vec je ta, ze u nekterych jedincu je casto videt primo neskryvany zajem se po studentovi povozit - todle uz ani nemam silu nejak resit - je to znechucujici.
Presto jak rikam, nechci zase pausalizovat. Nas anglictinar nauci i debila, to same si troufnu tvrdit o matice v prvaku, kdy ucitel zase jasne stanovil pravidla a stacilo je plnit. Dal Vam pokusu, kolik chcete - pokazde jine zadani prirozene - ale co jineho je smysl - az to napisete, tak to pravdepodobne budete i umet. Rada ucitelu ale na tohle "nema cas", ... Jako kdyz vidim, ze to nekdo muze a nekdo ne, tak si taky rikam proc ...

omlouvam se za ot

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 2.1.2004 0:14:22

Pokud máte opravdu takové zkušenosti, pak jste buď měl ohromnou smůlu nebo já ohromné štěstí. Protože mé zkušenosti (MFF UK) jsou přesně opačné. Sice jsem tam také narazil na pár vyučujících, kteří působili poněkud demotivujícím dojmem, ale to byly velmi řídké výjimky. Celkově považuji své studium za velmi užitečnou zkušenost, a to přesto, že se nakonec živím něčím úplně jiným, než co jsem studoval.

To, že se obor <I>softwarové inženýrství</I> (nebo jak si ho kde pojmenují) vypisuje i na VŠE nebo zemědělce, přeci není zárukou, že tam studenty skutečně naučí algoritmicky uvažovat a řešit problémy. A pokud si někdo takový obor na takové škole zvolí (pravděpodobně proto, že je to jednodušší než na MFF nebo FEL), pak je svého štěstí strůjcem. A to už vůbec nemluvím o populistických blábolech politiků, kteří jsou přesvědčeni (nebo se nám jen snaží namluvit), že vzdělanost národa se měří počtem "absolventů vysokých škol" (ať už termín v uvozovkách znamená cokoli).

Avatar

Autor komentáře: jakub

Datum vložení: 2.1.2004 13:41:37

Nebral bych to tak fatalne - <I>ohromnou smůlu nebo já ohromné štěstí</I>, proste je to tak. Kvalitu si musim dohnat sam :). Hned zduraznim, ze bych nerad neco pausalizoval na celou skolu - tim bych hodnocenim strhnul i ty kvalitni, ale podil opravdu kvalitnich je tak desetina, podil opravdu nekvalitnich tretina.

<I>A to už vůbec nemluvím o populistických blábolech politiků, kteří jsou přesvědčeni (nebo se nám jen snaží namluvit), že vzdělanost národa se měří počtem "absolventů vysokých škol"</I>

Jj, mimochodem nyni jsem zaslechl cosi o cili zvysit kvalitu vyuky - bohuzel jede ze jmenovanych "sympataku" to aplikuje skrze pritvrzeni pozadavku na ciste nadrilovane znalosti ...

Timto pitvani tohoto ot koncim, myslim, ze to je imho na dlouhe lokty.

Avatar

Autor komentáře: jakub

Datum vložení: 1.1.2004 19:31:16

Vite, nebudem to pitvat, ono to totiz neni ani tak o skole jako _o lidech_. Jako ja to, co vy rikate povazuji za spravne, bohuzel rada mych zazitku je spise nacpela nekoncepcnosti, nedostatecnym rozsahem a nekdy bohuzel az diletantstvim - muzeme se tady hadat, vyse uvede je ale live zkusenost (od dph 23% az po predmet, ktery mel byt puvodne systemovou integraci a zvrhl se v sociologii a psychologii).

<I>vyžaduje od studenta značnou dávku samostatné práce</I>

- to je na jednu stranu pravda, na druhou stranu to podstatne musi zaznit o seminarich a prednaskach
- neni a nemusi to byt pravda, pokud mate opravdu kvalitniho ucitele - todle mohu opet z vlastni zkusenosti potvrdit napric vyukovym spektrem - od ekonomie, matematiku az po programovani

Vejska Vam ma dat zaklad a na tom se shodnem, protoze dal se muzete rozvijet a ucit sam. Bohuzel ten zaklad je kolikrat doslova ubohy.

Cekam tady ted spoustu reci o tom, ze jsem zase jeden z chytrejch, kterej soudi aniz vi co. Vite, nakonec je mi to jedno, je to muj nazor. Ja jen vidim to, ze to podstatne, co zazni na hodinach vyda tak na 5% casu straveneho tamtez.

Proc mam chodit na seminar, ktery mi opravdu nic neda - ja klidne budu doma studovat a vim, ze to casto bude efektivnejsi nez cesta do skoly, 1,5h casto bezducheho tlachani, cesta ze skoly a pak dvakrat repete.

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 2.1.2004 0:17:12

Na to mohu odpovědět jen jedno: asi jste si špatně zvolil školu. Jako nikoho nepřekvapí, že existují dobré a špatné softwarové firmy, nemělo by nás překvapovat, že existují dobré a špatné školy nebo dobří a špatní vyučující. Podrobněji viz má odpověď V. Málkovi.

Avatar

Autor komentáře: anonymous

Datum vložení: 5.12.2006 22:12:15

Ač je to starší diskuse, nedá mi to nereagovat ... Problém není často tak jednoznačný. 1. Ve školách se bohužel na můj vkus příliš často sdružují učitelé, kteří učí protože je to jediný místo kde se uchytli. 2. Když se najde takový co se snaží něco dělat a není od začátku arogantní k ostatním učitelům, tak ho za chvíli ušlapou, byť jen tím že mu dají víc předmětů než je schopnej systémem kvalitní přípravy obstarat. 3. Učitelé na můj vkus často mají pocit, že učí zbytečně, neinteligentní žáky bez zájmu a vlastně je učení obtěžuje... oni dostávaj přeci plat za to že sedí v kanclu... že učí to je "vopruz" :( 4. Když už člověk přežije tyto útrapy a učí podle svého nejlepšího svědomí tak zase narazí na další problémy: 4.a žáci jsou zvyklí od ostatních učitelů, že přijdou-vyslechnou-odejdou ... (to přechází tak po 2 - 3 týdnu výuky) 4.b na přednášky nechodí z principu ... to že přednášky za něco dozví se dozví až po čase. 4.c bohužel tendence poměrně veliké většiny škol je zvyšovat počet studentů a ty pak držet a tudíž student ví, že nemusí. A navíc se přizpůsobuje úroveň výuky jim (aby to zvládali a nebyly vyhozeni) Při takových vstupních podmínkách se nedá čekat zázraky a tudíž varianta 4 skončí pro studenty skoro stejně jako ty předešlé (příklad, kdy člověk se připravuje na cvičení 10-12 hodin a přijde mu tam jeden žák, protože je to prostě středa večer před svátkem a všichni už včera večer odjeli domů je taky hodně demotivující :)). Nezastávám ani jednu stranu, jedno je důležité říct, učit na vysoké škole musí člověk brát jako poslání s vyšším cílem, pokud to tak nevidí, pak skončí buď jako 1 nebo 3 nebo má páteř a s odejde protože skončit jako 2 a 4 se jim nechce. Nezmínil jsem skupinu 5 .. těch je taková minorita, že jakmile se s tím setkáte tak poznáte charakteristiku... jakýkoliv popis je tedy zbytečný PS: sory za tu nestrukturovanou kritiku, :)

Avatar

Autor komentáře: Tomáš Podoba

Datum vložení: 1.1.2004 13:33:43

o Iconv jsem slysel, takove programky sice existuji, a proto to musime prece dokazat i my, ze. Za rok programovi :/ to preci musi zvladnout kazdy.. slova profesora. Jinak mam zadani meho projektu je nasledujici :
Konverze češtiny v HTML souborech mezi kódováním Windows-1250, ISO-8859-2 a utf-8 a zpět. Převod znaků z notace ?kód; popř. ìýí... do ASCII nebo UTF-8 kódu. Implementace - buď CGI skript s WWW rozhraním, nebo ovládání pomocí command line...
Takze UTF-8 ... porad nevim jak na to.. z/do ISO8859-2/win1250 mam, ale to UTF-8 je pro me orisek :(

Avatar

Autor komentáře: jakub

Datum vložení: 1.1.2004 15:28:35

nekde jsem zde uvadel odkaz - ta trida umi vse zminovane (alespon to o sobe tvrdi - nezkouseno) - je to napsany primo v php, takze zadani by to melo splnovat

Avatar

Autor komentáře: Tomáš Podoba

Datum vložení: 1.1.2004 15:38:08

Ha, tak kdybys na to reseni nekde narazil, docela by mne to bodlo do C++ bych to uz predelal, i kdyz ten program musi byt resen OOP...

Avatar

Autor komentáře: Ritchie

Datum vložení: 1.1.2004 16:04:53

Boha jeho! Tohle je práce na jedno odpoledne a po prvním semestru programování nebo ještě lépe programovacího jazyka, protože zde nic moc algoritmického není, by to měl dokázat každý.

Kuchařka.
8-bit->utf-8. Načtete znak a v převodní tabulce vyhledáte jeho unicode hodnotu. Tu pak zakódujete do unicode podle algoritmu podobnému tomu, co je zde popsán. Metody String.charCodeAt a String.fromCharCode totiž pracují s unicode hodnotou.
utf-8->8-bit. Znak v kódování utf-8 dekódujete na jeho unicode hodnotu podle podobného algoritmu, jaký je zde popsán. V převodní tabulce naleznete odpovídající řádek a 8-bitový kód zapíšete.
Tabulka 8-bit->utf-8 může být realizována přímo polem, unicode->8-bit bych reprezentoval hashovací tabulkou. Hash jistě vhodně zvolíte.
Nejčistší řešení celého programu je vždy převod na unicode a zpět.

Avatar

Autor komentáře: Tomáš Podoba

Datum vložení: 1.1.2004 23:42:28

Dekuji za radu. Myslim ze to zvladnu, bohuzel ne kazdemu jde programovani. Kdybych BOHA JEHO vedel, jak to mam efektivne a rychle udelat za jedno dopoledne, urcite bych se neptal. Programovani me fakt nebavi, ale musim to delat, uz jsem si zvolil cestu. I kdyz na druhou stranu pracovat v PHP je mnohem zabavnejsi nez v C++. Profesional asi neuvidi zrejmy rozdil, ale ja ano. Nejspis jsem ovlivnen visualnim vystupem...

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 6.1.2004 10:52:04

A proč jste si, kricinálfagot, vybíral takový obor, kde potřebujete programovat, když vás to nebaví? A proč, gospoditybožemoj, z něj neutečete a nejdete dělat něco co vás baví?
PHP "programátorů" je už teď jak... jak to říct slušně..., no, mnoho. S tím díru do světa neděláte.
A nerad bych se dočkal stavu, kdy programátoři budou stejně nepoužitelní (a nezamětnatelní) jako dneska "střední managoři".

Avatar

Autor komentáře: jakub

Datum vložení: 6.1.2004 12:01:24

zlato, zlato, zlato, co ti na to mam rict - snad jen to, ze to vsechno vidis trosku jednoduse. Treba je mozne, ze si radu veci uvedomis az kdyz mas dukladnejsi znalosti, treba je mozne, ze ne kazdemu se chce kazde dva mesice menit skola, treba v budoucnu nechci byt jen programator, resp. nechci to mit jako hlavni napln prace. Nicmene chci mit alespon hlubsi znalosti problematiky abych byl schopen kvalifikovane rozhodovat.

V neposledni rade od rady svych soukmenovcu vim, ze kvalita vysokych skol je v podstate vyrovnana a co si budem povidat v podstate spise horsi nez lepsi.

Avatar

Autor komentáře: Vítězslav Novák

Datum vložení: 7.1.2004 12:25:37

Odpovídal jsem T.Podobovi. Když ho programování nebaví, neměl si vybrat obor, kde je programování potřebné. A pokud už nechce nic měnit, neměl by podvádět a to, co si má rozmyslet a naprogramovat, shánět někde na netu.
Cílem toho příkladu samozřejmě není udělat převodník, takových je moc a nepochybně lepších, než dokáže vyprodukovat student, ale dát mu možnost na nějakém příkladě otestovat své znalosti programování. Když už někam patří znalost C/C++, snad škola tuší, k čemu by mu měla být.

Jinak, programovat převodník kódování v PHP považuju za zhovadilost, stejně jako v Basicu nebo Pearlu. V jakémkoliv interpretovaném jazyce.
Kdo chce zůstat na úrovni doplňků webu, budiž mu přáno. Ale neměl by si odnést ze školy přesvědčení, že by v nich měl jít na úroveň bitovch operací.

(A omlouvám se, že jsem se minule zanonymnil. Rychlá ruka...)

Avatar

Autor komentáře: jakub

Datum vložení: 7.1.2004 20:23:11

<I> Ale neměl by si odnést ze školy přesvědčení, že by v nich měl jít na úroveň bitovch operací. </I>

imho i muj nazor

Avatar

Autor komentáře: Ritchie

Datum vložení: 8.1.2004 2:23:03

Nemohu s vámi souhlasit, že programovat převodník kódování v interpretovaném jazyce je zhovadilost. Proč jako? Představte si, že PHP nezná převodní funkce a Vy potřebujete data (v řádu kiB) získávaná v iso-8859-2 uložit do souboru v utf-8. To si hned budete psát knihovnu v C a řešit problémy s přenositelností?! Nebo raději napíšete několik málo řádků skriptu? Právě zde vidíte smysluplný příklad použití bitových operací i v interpretovaných jazycích.
Chtěl bych poznamenat, že mezi spojeními "umět programovat" a "znát programovací jazyk" je nebetyčný rozdíl. Obě schopnosti spolu také nijak nesouvisí.

Avatar

Autor komentáře: jakub

Datum vložení: 1.1.2004 19:34:15

No, vyse uvedeny odkaz je trida, takze nevim, jak presne oop myslite. Reseni tam je, takze uz jen opravdu predelat do c++

Avatar

Autor komentáře: urso

Datum vložení: 16.7.2007 18:40:29

Pro UTF-8 nejsou tabulky ale tabulka jedna pro cs-CZ, tedy češtinu. Viz http://zmsoft.cz/prekoder/index.html Zde je tabulka UTF-8: word=(50081,50089,50331,50093,50099,50106,50607,50109, 50622,50593,50317,50585,50319,50597,50568,50049,50057,50074,50061,50067, 50074,50606,50077,50621,50592,50316,50584,50318,50596,50567, 0,0,0,0,0,0,0,0,0,0); Stejné znaky pro ISO 8859-2: Ibyte=(225,233,236,237,243,250,249,253,190,185,232, 248,239,187,242,193,201,204,205,211,218,217,221,174,169,200,216,207,171,210, 181,244,224,228,229,165,212,192,196,197);

Avatar

Autor komentáře: Michal

Datum vložení: 3.1.2004 0:42:21

Dobrý den, nevíte nekdo jak tyto funkce přepsat do VBScriptu když v něm neexistuje operator >>?

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 3.1.2004 1:22:59

x << n = x * 2^n
x >> n = x / 2^n (celá část)

Avatar

Autor komentáře: Tomáš Pokorný

Datum vložení: 16.7.2004 0:00:13

Potřeboval by jsem od někoho poradit jak v PHP převést soubor z unicode (takový jaký umí uložit excel [nevím přesně který to je, nejak to nemůžu zjistit]) do utf-8. Excel neumí ukládat textový soubor přímo v utf-8 a ja potřebuji k dalšímu zpracování tento soubor v utf-8. Soubory obsahují asi 20 různých jazyků, takže není možné použít nic jiného.

Dik.

Avatar

Autor komentáře: Václav Král

Datum vložení: 26.11.2004 14:44:55

Posílám z webového HTML formuláře data na JSP stránku. Jak v HTML stránce, tak v jsp stránce mám nastaveno UTF-8 kódování. Problém je v tom, že data přijdou na JSP stránku "zmršená", nezobrazí se správně. V čem by mohl být problém? Na straně serveru (Tomcat 4.1)? Nebo jsem někde (třeba u postu), opomněl něco nastavit.
Děkuji

Avatar

Autor komentáře: youk

Datum vložení: 28.11.2006 13:32:09

mam domenu cez pipni cz a aj php aj mysql v utf 8. Ale aj tak ked sa prihlasim do mysql admina tak vidim hieroglify. cim to je?

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 28.11.2006 13:55:42

To může být způsobeno několika různými příčinami. Jako první bych uvažoval o nesprávné konfiguraci (či verzi) phpMyAdmin, jako další bych asi zjišťoval, zda byla data uložena do DB skutečně v UTF-8 nebo v jiném kódování...

Zpět na článek | Úvodní stránka Interval.cz