iconv Polecenie w Linuksie

Iconv Polecenie W Linuksie



Pamiętaj, aby zaktualizować swój komputer z systemem Linux, zanim przejdziesz do wdrożenia tego artykułu. W celu aktualizacji użyj narzędzia „apt” systemu Linux ze słowem kluczowym „update” i uruchom tę instrukcję, korzystając z uprawnień „sudo”. Chociaż możemy teraz przejść do implementacji, wolelibyśmy również zaktualizować ten system, tj. uaktualnienie zmniejszyłoby prawdopodobieństwo wystąpienia błędów, a system byłby w stanie dokładniej rozwiązywać problemy. Dlatego użyj narzędzia „apt” w instrukcji „upgrade”.

Przyjrzyjmy się teraz narzędziu iconv systemu Linux w jego konsoli terminala. Tak więc wykonywaliśmy instrukcję „iconv” z flagą „-l”, aby wyświetlić wszystkie znane i najczęściej używane kodowane zestawy znaków na ekranie naszego terminala. Wyświetli zakodowane zestawy znaków wraz z ich aliasami. Możesz zobaczyć długą listę zakodowanych zestawów znaków po przewinięciu nieco w dół.







Teraz nadszedł czas, aby rozpocząć implementację polecenia iconv w systemie Linux. Po pierwsze, potrzebujemy różnych typów plików w naszym systemie, aby przekonwertować jeden typ pliku na inny. Dlatego używamy zapytania „dotykowego” na terminalu konsoli, aby utworzyć trzy różne pliki, tj. Typ Java, typ C i typ tekstowy. Wypisując zawartość bieżącego katalogu, znajdziesz w nim nowo wygenerowane pliki.



Następnie przyjrzymy się typowi każdego pliku osobno, używając zapytania „plik” wraz z nazwą każdego pliku. To zapytanie wymaga opcji „-I”, aby wyświetlić typ zestawu znaków kodowania dla każdego pliku osobno. Jeśli zapomniałeś użyć opcji „-I”, użyj zamiast tego flagi „-mime”. Zarówno flagi „-I” jak i „-mime” działają tak samo.



Teraz, po wykonaniu instrukcji „file” dla pliku typu „txt”, otrzymaliśmy kodowanie typu znaków „US-ASCII”. Używając tej samej instrukcji dla plików Java i C, pokazuje, że oba pliki zawierają kodowanie znaków typu „BINARY”. Wraz z tym ta instrukcja pokazuje, że wszystkie te trzy pliki są puste.





Teraz zilustrujemy użycie instrukcji iconv na konsoli do konwersji określonego pliku kodowania zestawu znaków na inny kodowanie zestawu znaków. Wcześniej musimy dodać jakiś kod lub dane do naszych plików. Dlatego dodaliśmy kod Java w pliku „text.java”, kod C w pliku „text.c” oraz dane tekstowe w pliku „test.txt”. Zapytanie cat zostało tutaj użyte do wyświetlenia zawartości wszystkich trzech plików, jak pokazano poniżej:



Teraz, gdy pomyślnie dodaliśmy dane, ponownie zobaczymy kodowanie zestawu znaków tych plików. Tak więc wypróbowaliśmy tę samą instrukcję pliku w powłoce z flagą „-I” i nazwami plików, tj. test.txt, test.java i test.c. Uruchomienie tych trzech instrukcji oddzielnie dla wszystkich trzech plików pokazuje, że kodowanie zestawu znaków zostało zaktualizowane dla plików Java i C, pozostając jednakowe dla pliku tekstowego, tj. US-ASCII. Kodowanie plików Java i C było wcześniej „binarne”; teraz jest to „US-ASCII”. Pokazuje również, że plik tekstowy zawiera zwykłe dane tekstowe, podczas gdy pozostałe dwa pliki kodu zawierają skrypty jako zawartość.

Czas wykonać właściwe zadanie potrzebne w tym artykule, czyli przekonwertować jedno kodowanie na drugie za pomocą polecenia iconv w powłoce. Dlatego używamy instrukcji „iconv” w terminalu powłoki z uprawnieniami „sudo”. To polecenie przyjmuje opcję „-f” oznaczającą „z”, a opcja „-t” oznacza „do”, tj. Z jednego kodowania do drugiego.

Po opcji „-f” musisz określić kodowanie, które Twój plik już ma, tj. US-ASCII. Natomiast po opcji „-t” musisz określić kodowanie, które chcesz zastąpić starym kodowaniem, tj. UNICODE. Musisz określić nazwę pliku używanego jako źródło z opcją –o, aby utworzyć jego obraz obiektu. Obraz obiektu byłby innym plikiem, tj. „nowy.c”, tego samego typu, ale z nowym kodowaniem i tymi samymi danymi.

Po wykonaniu poniższej instrukcji otrzymasz nowy plik w tym samym katalogu, czyli zgodnie z zapytaniem „ls”. Teraz sprawdzimy kodowanie zestawu znaków nowego pliku wygenerowanego za pomocą instrukcji iconv. Ponownie wykorzystamy instrukcję „file” z opcją „-I” i nową nazwą pliku, tj. new.c.

Zobaczysz, że zestaw znaków dla tego nowego pliku różni się od zestawu znaków starego pliku, tj. zestawu znaków UTF-16LE. Dzieje się tak, ponieważ przetłumaczyliśmy kodowanie US-ASCII na kodowanie UNICODE za pomocą instrukcji iconv dla naszego nowego pliku.c. Zapytanie „cat” wyświetlało ten sam kod C w pliku, ale rozpoczynało się od niektórych znaków Unicode, jak już przedstawiono.

W bardzo podobny sposób zmienimy kodowanie pliku tekstowego test.txt. Instrukcja pliku pokazuje, że ma kodowanie zestawu znaków US-ASCII. Polecenie iconv zostało użyte w tym samym formacie, aby przekonwertować kodowanie pliku test.txt z US-ASCII na TURKISH8. Zobaczysz, że nie zmienia to US-ASCII na turecki.

Następnie użyliśmy tego samego polecenia, aby pokryć kodowanie zestawu znaków US-ASCII do UTF-32 dla tego samego pliku. Tym razem to działa. Dzieje się tak, ponieważ czasami może wystąpić problem z konwersją jednego zestawu kodowania na inny lub inne kodowanie może go nie obsługiwać.

Wniosek

W tym artykule omówiono, jak używać instrukcji iconv Linux do konwertowania jednego zestawu znaków kodowania na inny przy użyciu ich aliasów. W ten sposób musieliśmy stworzyć kilka plików różnego typu.