Naredba iconv u Linuxu

Naredba Iconv U Linuxu



Obavezno ažurirajte svoj Linux stroj prije nego što dublje krenete u implementaciju ovog članka. Za ažuriranje upotrijebite uslužni program 'apt' Linuxa s ključnom riječi 'update' i pokrenite ovu uputu koristeći privilegije 'sudo'. Iako sada možemo prijeći na implementaciju, radije bismo nadogradili i ovaj sustav, odnosno nadogradnjom bi se smanjila mogućnost pojave grešaka, a sustav bi točnije rješavao probleme. Stoga koristite uslužni program 'apt' unutar uputa za 'nadogradnju'.

Pogledajmo sada uslužni program iconv Linuxa u njegovoj terminalskoj konzoli. Dakle, izvršavali smo instrukciju “iconv” sa zastavom “-l” za prikaz svih poznatih i najčešće korištenih skupova kodiranih znakova na našem terminalskom zaslonu. Prikazat će skupove kodiranih znakova zajedno s njihovim aliasima. Možete vidjeti dugačak popis kodiranih skupova znakova nakon što se malo pomaknete prema dolje.







Sada je vrijeme da počnemo s implementacijom naredbe iconv u Linuxu. Prvo, potrebne su nam različite vrste datoteka u našem sustavu za pretvaranje jedne vrste datoteke u drugu. Dakle, koristimo upit 'dodir' na terminalu konzole za stvaranje tri različite datoteke, tj. vrste Java, vrste C i vrste teksta. Ispisujući trenutni sadržaj direktorija, u njemu ćete pronaći novogenerirane datoteke.



Nakon toga, pogledat ćemo vrstu svake datoteke zasebno pomoću upita 'datoteka' zajedno s nazivom svake datoteke. Ovaj upit treba opciju '-I' za prikaz vrste skupa kodnih znakova za svaku datoteku zasebno. Ako ste zaboravili upotrijebiti opciju '-I', umjesto nje upotrijebite oznaku '—mime'. Obje oznake '-I' i '—mime' rade isto.



Sada, nakon izvršavanja instrukcije “file” za datoteku tipa “txt”, dobili smo kodiranje tipa znakova “US-ASCII”. Dok se koriste iste upute za Java i C datoteke, pokazuje da obje datoteke sadrže 'BINARY' tip kodiranja znakova. Uz to, ova uputa pokazuje da su sve ove tri datoteke prazne.





Sada ćemo ilustrirati upotrebu naredbe iconv na konzoli za pretvaranje datoteke kodiranja određenog skupa znakova u drugo kodiranje skupa znakova. Prije toga, moramo dodati neki kod ili podatke u naše datoteke. Stoga smo dodali Java kod u datoteku “text.java”, C kod u datoteku “text.c” i dodali tekstualne podatke u datoteku “test.txt”. Ovdje je korišten cat upit za prikaz sadržaja sve tri datoteke, kao što je prikazano u nastavku:



Sada kada smo uspješno dodali podatke, ponovno ćemo vidjeti kodiranje skupa znakova ovih datoteka. Dakle, isprobali smo istu instrukciju datoteke unutar ljuske sa zastavom '-I' i nazivima datoteka, tj. test.txt, test.java i test.c. Pokretanje ove tri upute zasebno za sve tri datoteke pokazuje da je kodiranje skupa znakova ažurirano za Java i C datoteke dok je ostalo isto za tekstualnu datoteku, tj. US-ASCII. Kodiranje Java i C datoteka prije je bilo 'binarno'; sada je 'US-ASCII'. Također, pokazuje da tekstualna datoteka sadrži obične tekstualne podatke dok druge dvije kodne datoteke sadrže skripte kao sadržaj.

Vrijeme je da izvršite stvarni zadatak potreban za ovaj članak, tj. pretvorite jedno kodiranje u drugo pomoću naredbe iconv u ljusci. Dakle, koristili smo instrukciju 'iconv' unutar terminala ljuske s privilegijama 'sudo'. Ova naredba uzima opciju '-f' koja označava 'od', a opciju '-t' označava 'do', tj. s jednog kodiranja na drugo.

Nakon opcije “-f” morate navesti kodiranje koje vaša datoteka već ima, tj. US-ASCII. Dok nakon opcije “-t” morate navesti kodiranje koje želite zamijeniti starim kodiranjem, tj. UNICODE. Morate navesti naziv datoteke koja se koristi kao izvor s opcijom –o da biste stvorili sliku njenog objekta. Slika objekta bila bi druga datoteka, tj. 'new.c', iste vrste, ali s novim kodiranjem i istim podacima.

Nakon izvršavanja sljedeće upute, dobit ćete novu datoteku u istom direktoriju, tj. prema upitu 'ls'. Sada ćemo provjeriti kodiranje skupa znakova nove datoteke generirane pomoću instrukcije iconv. Opet ćemo koristiti instrukciju 'file' s opcijom '-I' i novim nazivom datoteke, tj. new.c.

Vidjet ćete da se skup znakova za ovu novu datoteku razlikuje od skupa znakova stare datoteke, tj. skupa znakova UTF-16LE. To je zato što smo preveli US-ASCII kodiranje u UNICODE kodiranje pomoću instrukcije iconv za našu datoteku new.c. Upit 'cat' prikazao je isti C kod unutar datoteke, ali je započeo s nekim Unicode znakovima, kao što je već predstavljeno.

Na vrlo sličan način promijenit ćemo kodiranje tekstualne datoteke test.txt. Upute za datoteku pokazuju da ima kodiranje skupa znakova US-ASCII. Naredba iconv korištena je s istim formatom za pretvaranje kodiranja datoteke test.txt iz US-ASCII u TURKISH8. Vidjet ćete da ne mijenja US-ASCII u turski.

Nakon toga smo upotrijebili istu naredbu za pokrivanje US-ASCII do UTF-32 kodiranja skupa znakova za istu datoteku. Ovaj put, radi. To je zato što ponekad može doći do problema s pretvaranjem jednog skupa kodiranja u drugi ili ga drugo kodiranje možda ne podržava.

Zaključak

U ovom se članku raspravljalo o tome kako koristiti iconv Linux upute za pretvaranje jednog skupa znakova kodiranja u drugi pomoću njihovih aliasa. Na taj smo način morali stvoriti neke datoteke različitih tipova.