Pomoć oko ošišane abedcede

Pomoć oko ošišane abedcede

offline
  • Pridružio: 07 Mar 2019
  • Poruke: 3

Pravim maturski, imam ogromnu listu reči u kojima se naravno nalaze i slova šđčćž, i želim ih pretvoriti u sdcz.
Kada deklarišem neki string sa tim slovima, ona imaju određenu negativnu ascii vrednost, npr š=-102,
i to bi sve bilo ekstra, prosta funkcija koja kada naidje na ascii vrednost -102 menja je u 115(s), ali kada pokušam da u string unesem vrednost preko fajla, ta slova dobiju različite ascii vrednosti, i što je najgore pretvore se u dva znaka...Kako i zašto?
[Link mogu videti samo ulogovani korisnici]



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 27 Avg 2005
  • Poruke: 560

lukaglishic ::Pravim maturski, imam ogromnu listu reči u kojima se naravno nalaze i slova šđčćž, i želim ih pretvoriti u sdcz.
Kada deklarišem neki string sa tim slovima, ona imaju određenu negativnu ascii vrednost, npr š=-102,
i to bi sve bilo ekstra, prosta funkcija koja kada naidje na ascii vrednost -102 menja je u 115(s), ali kada pokušam da u string unesem vrednost preko fajla, ta slova dobiju različite ascii vrednosti, i što je najgore pretvore se u dva znaka...Kako i zašto?
[Link mogu videti samo ulogovani korisnici]

Mozda da nadjes neko resenje da napr jednim klikom selektujes sve napr š pa pretvoris u s pa onda sledece slovo i tako redom



offline
  • Pridružio: 06 Feb 2012
  • Poruke: 1872

Nije to baš tako jednostavno, kako si ti zamislio...

Ne možeš koristiti ASCII enkodovanje, ako želiš raditi sa UTF16 karakterima.

Ako baš želiš da radiš da UTF16 karakterima, prije svega treba ti wide character type (wchar_t). Dodatni problem je što njegova veličina (8 ili 16 b) zavisi od implementacije kompajlera i operativnog sistema. Ispis u konzolu, naravno, ne možeš raditi pomoću funkcija na koje si navikao, već pomoću funkcija koje podržavaju UTF16 karaktere. Čini mi se da bi wprintf trebalo da radi, ako se setuje console mod u unicode, ali nisam siguran. Trebaće ti i wchar.h header. Guglaj za detalje, pisao sam ovo napamet.

Pošto pretpostavljam da ne znaš baš puno o tipovima enkodovanja i implementacijama u C jeziku. Pitanje je da li ti je takvo nešto uopšte i potrebno? Šta je tvoj zadatak koji treba da uradiš? Možda ti možemo dati bolju ideju.

offline
  • Pridružio: 07 Mar 2019
  • Poruke: 3

Sale.S ::Nije to baš tako jednostavno, kako si ti zamislio...

Ne možeš koristiti ASCII enkodovanje, ako želiš raditi sa UTF16 karakterima.

Ako baš želiš da radiš da UTF16 karakterima, prije svega treba ti wide character type (wchar_t). Dodatni problem je što njegova veličina (8 ili 16 b) zavisi od implementacije kompajlera i operativnog sistema. Ispis u konzolu, naravno, ne možeš raditi pomoću funkcija na koje si navikao, već pomoću funkcija koje podržavaju UTF16 karaktere. Čini mi se da bi wprintf trebalo da radi, ako se setuje console mod u unicode, ali nisam siguran. Trebaće ti i wchar.h header. Guglaj za detalje, pisao sam ovo napamet.

Pošto pretpostavljam da ne znaš baš puno o tipovima enkodovanja i implementacijama u C jeziku. Pitanje je da li ti je takvo nešto uopšte i potrebno? Šta je tvoj zadatak koji treba da uradiš? Možda ti možemo dati bolju ideju.


Pre svega hvala na odgovoru.
Moja ideja je da pravim vesalo, ali pored toga sto igrac pogadja rec koju je racunar zamislio, imam ideju da racunar pogadja rec koju je igrac zamislio, tako sto ce izabrati najcesce korisceno slovo, pa zatim izbacivati sve reci koje ne sadrze to slovo na odredjenom mestu.
E sad, za to mi je potrebna ogromna lista reci koju sam vec nasao, ali bas da se ne bih previse zezao sa tim UTF16 karakterima odlucio sam da ih prebacim u tu "osisanu" latinicu. I naravno posto je lista reci ogromna, imao sam problema sa svim ovim online konverterima iz latinice u osisanu, pa sam hteo sam da napravim taj konverter da bih to uradio. Medjutim shvatio sam da bih to mogao realizovati pomocu worda...

offline
  • Pridružio: 06 Feb 2012
  • Poruke: 1872

Ako se odlučiš da radiš sa "ošišanom" latinicom, svakako je bolja opcija da to konvertovanje odradiš na lakši način (word, notepad++, online, ili kako god).

Da li si ograničen po pitanju programskog jezika? Ako nisi, uradi to u nekom native unicode jeziku (C#,Java,...) i nećeš morati koristiti nikakve posebne biblioteke ili posebne karaktere, za slova sa kukicama.

ps. Prošlu poruku sam pisao iz glave. Ipak se radi o utf8 karakterima, ali to ne mijenja poentu. U svakom slučaju C nije native unicode jezik.

Ko je trenutno na forumu
 

Ukupno su 935 korisnika na forumu :: 61 registrovanih, 5 sakrivenih i 869 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: babaroga, Bane san, bbogdan, Belac91, belov, Ben Roj, bigvlada, Bubimir, Cigi, crazydkure, Dambi, dane007, Dare, dendrit86, Dimitrise93, Django777, djboj, Djuro2000, Dovla 1980, dzoni19, Folkstar, GeoM, Georgius, Griffon vulture, HogarStrashni, IAR80, JOntra, Josef, Lieutenant, MarkoD, markomacii9, MB120mm, Mi lao shu, Milan A. Nikolic, MiloradKomadic, Mskok, Najax, Nemanja.M, nenad81, neutrino, nick79, Oblički, panzerwaffe, Pilence, repac, ruso, S2M, samsung, Silvertooth, singa, smerch, solic, Srle993, stalker22, starlights, superwhy, takini, UAV operator, x011, zeo, Zukov