Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

urlencode UTF8 stringa

[es] :: C/C++ programiranje :: urlencode UTF8 stringa

[ Pregleda: 3624 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon urlencode UTF8 stringa04.01.2004. u 21:53 - pre 218 meseci
Kako da u C-u uradim urlencode UTF8 char niza? Imam funkciju koja to radi za ASCII tekst, ali kako da uradim za UTF8 kodirani tekst? Svaka pomoć dobrodošla.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
195.252.85.*

Sajt: localhost


+4 Profil

icon Re: urlencode UTF8 stringa05.01.2004. u 02:44 - pre 218 meseci
// napomena: nisam siguran, ali po svoj logici stvari bi trebalo da je ovako.

kratak odgovor: samo url-enkoduj kao običan ascii string.

dugačak odgovor: utf-8 je enkodovanje koje prvih 127 karaktera ne dira (znači isti su i u ascii i u utf-8 enkodingu), a za karaktere čiji je unicode broj veći od 127 koristi dva ili više bajtova, tako što je svakom setovan najviši bit (vrednosti 128).

dakle ako enkoduješ string "dugačko" sa utf-8 dobićeš niz u 8bitnom askii formatu gde če sva slova sem slova č biti predstavljena preko jednog bajta, a slovo č preko dva bajta sa setovanim najvišim bitom, sa vrednostima c4 i 8d.

i kad konačno to enkoduješ sa url-encode, onda će opet sva slova sem č biti normalno enkodovana kao običan ascii, a slovo č sa %C4%8D.

dakle ceo string će biti "duga%C4%8Dko". kada to url-dekoduješ, dobiješ opet "dugačko" gde je č predstavljeno sa dva bajta c4 i 8d.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.231.216.81.gus.vf.siwnet.net

Sajt: dejan.lekic.org


+2 Profil

icon Re: urlencode UTF8 stringa05.01.2004. u 02:49 - pre 218 meseci
Na www.unicode.org imas gotov C kod za raznorazna "tumbanja" stringova, ja sam davno naisao na to, i sada se setih da to postoji...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: urlencode UTF8 stringa05.01.2004. u 16:55 - pre 218 meseci
Problem je što meni treba "č" prikazano kao "%E8", a ne kao "%C4%8D"
Osim dela source koda PHP-a koji zbog skakanja iz jedne php-related funkcije u drugu ne mogu da skapiram (urlencode() u php-u radi kako treba) nisam uspeo da pronađem ni algoriatam kako treba da izgleda urlencode multibyte stringa. Sadašnji kod radi upravo ovo što je i -zombie- rekao. Pogledaću unicode.org
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: urlencode UTF8 stringa05.01.2004. u 17:00 - pre 218 meseci
Zapravo sam ipak pogrešio. Funkcioniše enkodeovanje svakog bajta pojedinačno. Kada se to dekoduje dobije se ispravna vrednost svakog bajta, a to sastavljeno kada se čita kao UTF8 daje ispravan UTF8 string.

Moj propust. Hvala.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.beotel.net

Sajt: localhost


+4 Profil

icon Re: urlencode UTF8 stringa06.01.2004. u 04:36 - pre 218 meseci
nema na čemu, nego samo kratko objašnjenje.

%E8 ne bi imao šanse da dobiješ sa unikodom, nego eventualno sa jednobajtnim enkodovanjima kao što su win-1250 i iso-8859-2 (u stvari sigurno).

ako je č predstavljeno sa 2 bajta u UTF-8 (a to je najkompaktnije unicode enkodovanje), nikako ne bi mogao da ga urlenkoduješ sa jednim bajtom od %00 do %FF.

 
Odgovor na temu

[es] :: C/C++ programiranje :: urlencode UTF8 stringa

[ Pregleda: 3624 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.