iconv komanda Linux sistemoje

Iconv Komanda Linux Sistemoje



Prieš pradėdami įgyvendinti šį straipsnį, būtinai atnaujinkite „Linux“ įrenginį. Norėdami atnaujinti, naudokite „Linux“ programą „apt“ su raktiniu žodžiu „update“ ir paleiskite šią instrukciją naudodami „sudo“ teises. Nors dabar galime pereiti prie diegimo, norėtume atnaujinti ir šią sistemą, t.y. atnaujinimas sumažintų klaidų tikimybę, o sistema galėtų tiksliau išspręsti problemas. Todėl naudokite „apt“ įrankį „atnaujinimo“ instrukcijoje.

Dabar pažvelkime į „Linux“ „iconv“ įrankį terminalo konsolėje. Taigi, mes vykdėme instrukciją „iconv“ su „-l“ vėliava, kad mūsų terminalo ekrane būtų rodomi visi žinomi ir dažniausiai naudojami koduotų simbolių rinkiniai. Bus rodomi užkoduoti simbolių rinkiniai kartu su jų slapyvardžiais. Šiek tiek slinkę žemyn galite pamatyti ilgą užkoduotų simbolių rinkinių sąrašą.







Dabar atėjo laikas pradėti diegti komandą iconv sistemoje „Linux“. Pirma, mūsų sistemoje reikia skirtingų tipų failų, kad galėtume konvertuoti vieno tipo failus į kitą. Taigi, mes naudojame „touch“ užklausą konsolės terminale, kad sukurtume tris skirtingus failus, ty Java tipo, C tipo ir teksto tipo. Išvardydami dabartinį katalogo turinį, jame rasite naujai sugeneruotus failus.



Po to mes peržiūrėsime kiekvieno failo tipą atskirai, naudodami „failo“ užklausą kartu su kiekvieno failo pavadinimu. Šiai užklausai reikalinga parinktis „-I“, kad būtų rodomas kiekvieno failo kodavimo simbolių rinkinio tipas atskirai. Jei pamiršote naudoti parinktį „-I“, naudokite žymą „-mime“. „-I“ ir „-mime“ vėliavėlės veikia vienodai.



Dabar, įvykdę „txt“ tipo failo „failo“ instrukciją, gavome „US-ASCII“ simbolių tipo kodavimą. Naudojant tą pačią instrukciją Java ir C failams, rodoma, kad abiejuose failuose yra „BINARY“ simbolių tipo kodavimas. Be to, ši instrukcija rodo, kad visi šie trys failai yra tušti.





Dabar pavaizduosime, kaip konsolėje naudojamas iconv nurodymas, norint konvertuoti konkretų simbolių rinkinio kodavimo failą į kitą simbolių rinkinio koduotę. Prieš tai turime pridėti kodą ar duomenis į savo failus. Todėl mes įtraukėme „Java“ kodą į „text.java“ failą, „C“ kodą į „text.c“ failą ir įtraukėme tekstinius duomenis į „test.txt“ failą. Katės užklausa buvo naudojama čia, kad būtų rodomas visų trijų failų turinys, kaip parodyta toliau:



Dabar, kai sėkmingai įtraukėme duomenis, dar kartą pamatysime šių failų simbolių rinkinio kodavimą. Taigi, mes išbandėme tą pačią failo instrukciją apvalkale su žyma „-I“ ir failų pavadinimais, ty test.txt, test.java ir test.c. Vykdant šias tris instrukcijas atskirai visiems trims failams rodoma, kad „Java“ ir „C“ failų simbolių rinkinio kodavimas buvo atnaujintas, o tekstinio failo, t. y. US-ASCII, kodavimas liko toks pat. „Java“ ir „C“ failų kodavimas anksčiau buvo „dvejetainis“; dabar tai „US-ASCII“. Be to, tai rodo, kad tekstiniame faile yra paprasto teksto duomenų, o kituose dviejuose kodo failuose yra scenarijai kaip turinys.

Atėjo laikas atlikti tikrąją užduotį, reikalingą šiam straipsniui, ty konvertuoti vieną kodavimą į kitą naudojant komandą iconv apvalkale. Taigi mes naudojome „iconv“ instrukciją apvalkalo terminale su „sudo“ privilegijomis. Ši komanda paima „-f“ parinktis reiškia „nuo“, o parinktis „-t“ reiškia „to“, ty nuo vienos koduotės į kitą.

Po parinkties „-f“ turite nurodyti jau turimą failo kodavimą, ty US-ASCII. Nors po parinkties „-t“, turite nurodyti kodavimą, kurį norite pakeisti senąja koduote, ty UNICODE. Norėdami sukurti objekto vaizdą, turite nurodyti failo, naudojamo kaip šaltinį, pavadinimą su parinktimi –o. Objekto vaizdas būtų kitas to paties tipo failas, t. y. „new.c“, bet su nauja koduote ir tais pačiais duomenimis.

Įvykdę šią instrukciją, gausite naują failą tame pačiame kataloge, t. y. pagal „ls“ užklausą. Dabar patikrinsime, ar naujo failo, sugeneruoto naudojant iconv instrukcija, simbolių rinkinio kodavimas. Mes vėl panaudosime nurodymą „failas“ su parinktimi „-I“ ir nauju failo pavadinimu, ty new.c.

Pamatysite, kad šio naujo failo simbolių rinkinys skyrėsi nuo seno failo simbolių rinkinio, t. y. UTF-16LE simbolių rinkinio. Taip yra todėl, kad mes išvertėme US-ASCII kodavimą į UNICODE kodavimą, naudodami mūsų new.c failo iconv instrukcijas. Užklausa „katė“ faile rodo tą patį C kodą, bet prasidėjo kai kuriais „Unicode“ simboliais, kaip jau pateikta.

Labai panašiai pakeisime tekstinio failo test.txt kodavimą. Failo instrukcija rodo, kad jis turi US-ASCII simbolių rinkinio kodavimą. Komanda iconv buvo naudojama tuo pačiu formatu, norint konvertuoti test.txt failo kodavimą iš US-ASCII į TURKISH8. Pamatysite, kad tai nepakeičia US-ASCII į turkų.

Po to tą pačią komandą naudojome to paties failo US-ASCII iki UTF-32 simbolių rinkinio kodavimui. Šį kartą tai veikia. Taip yra todėl, kad kartais gali kilti problemų konvertuojant vieną kodavimo rinkinį į kitą arba kita koduotė jo nepalaiko.

Išvada

Šiame straipsnyje buvo aptarta, kaip naudoti iconv Linux instrukcijas, norint konvertuoti vieną kodavimo simbolių rinkinį į kitą naudojant jų slapyvardžius. Tokiu būdu turėjome sukurti keletą skirtingų tipų failų.