Jak konwertować pliki na kodowanie UTF-8 w Linux

Jak konwertować pliki na kodowanie UTF-8 w Linux

W tym przewodniku opiszemy, jakie znak kodowania postaci i omówimy kilka przykładów konwersji plików z jednego znaku kodowania na drugi za pomocą narzędzia wiersza poleceń. W końcu przyjrzymy się, jak przekonwertować kilka plików z dowolnego zestawu znaków (znak) Do UTF-8 kodowanie w Linux.

Jak zapewne masz na myśli, komputer nie rozumie ani nie przechowuje listów, liczb ani niczego innego, co my jako ludzie możemy postrzegać, z wyjątkiem bitów. Nieco ma tylko dwie możliwe wartości, czyli albo 0 Lub 1, PRAWDA Lub FAŁSZ, Tak Lub NIE. Każda inna rzecz, taka jak litery, liczby, obrazy, muszą być reprezentowane w bitach dla komputera do przetworzenia.

W prostych słowach, Kodowanie znaków jest sposobem na poinformowanie komputera, jak interpretować surowe zera i te do faktycznych znaków, gdzie postać jest reprezentowana przez zestaw liczb. Kiedy wpisujemy tekst w pliku, słowa i zdania, które tworzymy, są ugotowane z różnych postaci, a znaki są zorganizowane w znak.

Istnieją różne schematy kodowania, takie jak ASCII, Ansi, Unicode pośród innych. Poniżej znajduje się przykład ASCII kodowanie.

Postać A 01000001 B 01000010 

W Linux, iconv Narzędzie wiersza poleceń służy do konwersji tekstu z jednej formy kodowania na drugą.

Możesz sprawdzić kodowanie pliku za pomocą plik polecenie za pomocą -I Lub --mim Flaga, która umożliwia drukowanie ciągów typu MIME, jak w poniższych przykładach:

$ File -i Car.Java $ plik -i Cardriver.Jawa 
Sprawdź kodowanie plików w Linux

Składnia do używania iconv następująco:

$ iconv opcja $ iconv opcje -F od zakodowania -T do inkodowania (s) -o wyjściowe plik wyjściowe 

Gdzie -F Lub --od kodu oznacza kodowanie wejściowe i -T Lub --do kodowania Określa kodowanie wyjściowe.

Aby wymienić wszystkie znane kodowane zestawy znaków, uruchom poniższe polecenie:

$ iconv -l 
Lista zakodowanych Charsetów w Linux

Konwertuj pliki z UTF-8 na kodowanie ASCII

Następnie dowiemy się, jak konwertować z jednego schematu kodowania na inny. Polecenie poniżej konwertuje ISO-8859-1 Do UTF-8 kodowanie.

Rozważ plik o nazwie wejście.plik który zawiera postacie:

� � � 

Zacznijmy od sprawdzenia kodowania znaków w pliku, a następnie wyświetl zawartość pliku. Dokładnie możemy przekonwertować wszystkie postacie na ASCII kodowanie.

Po uruchomieniu iconv polecenie, następnie sprawdzamy zawartość pliku wyjściowego i nowe kodowanie znaków jak poniżej.

$ plik -i Wejście.Plik $ CAT WEJŚCIE.Plik $ iconv -f ISO-8859-1 -t UTF-8 //.plik -O out.Plik $ cat out.plik $ plik -i out.plik 
Konwertuj UTF-8 na ASCII w Linux

Notatka: W przypadku ciągu //IGNOROWAĆ jest dodawany do inkodowania, znaków, których nie można konwersać, a błąd jest wyświetlany po konwersji.

Ponownie, zakładając ciąg // Translica jest dodawany do inkodowania jak w powyższym przykładzie (ASCII // Translia), konwertowane znaki są transliterowane w razie potrzeby i jeśli to możliwe. Co oznacza, że ​​postać nie może być reprezentowana w zestawie znaków docelowych, może być przybliżona przez jeden lub więcej podobnych znaków.

W związku z tym każda postać, której nie można transliterować i nie jest w zestawie znaków docelowych, jest zastąpiona znakiem zapytania (?) na wyjściu.

Konwertuj wiele plików na kodowanie UTF-8

Wracając do naszego głównego tematu, aby przekonwertować wiele lub wszystkie pliki w katalogu do kodowania UTF-8, możesz napisać o nazwie mały skrypt powłoki kodowanie.cii następująco:

#!/bin/bash #enter Inputing tutaj from_encoding = "value_here" #output kodowanie (UTF -8) to_encoding = "utf -8" #Convert Convert = "iconv -f $ from_encoding -t $ to_encoding" #Loop, aby konwertować wiele plików dla pliku w *.tekst; do $ konwertuj „$ plik” -o "$ plik%.tekst.UTF8.konwertowane „gotowe wyjście 0 

Zapisz plik, a następnie spraw, aby skrypt był wykonywalny. Uruchom z katalogu, w którym pliki (*.tekst) są położone.

$ chmod +x kodowanie.sh $ ./kodowanie.cii 

Ważny: Możesz również użyć tego skryptu do ogólnej konwersji wielu plików z jednego podanego kodowania do drugiego, po prostu bawić się wartościami From_encoding I To_encoding zmienna, nie zapominając nazwy pliku wyjściowego "$ plik%.tekst.UTF8.przekonwertowane ".

Aby uzyskać więcej informacji, przejrzyj iconv Strona Man.

$ Man iconv 

Podsumowując ten przewodnik, zrozumienie kodowania i sposobu konwersji z jednego schematu kodowania znaków na inny jest niezbędną wiedzę dla każdego użytkownika komputera, bardziej dla programistów, jeśli chodzi o rozwój tekstu.

Na koniec możesz się z nami skontaktować, korzystając z poniższej sekcji komentarza w celu uzyskania pytań lub opinii.