Jak konwertować pliki na kodowanie UTF-8 w Linux
- 2458
- 618
- Maurycy Napierała
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.JawaSprawdź 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 -lLista 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.plikKonwertuj 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.
- « Jak znaleźć nazwę procesu za pomocą numeru PID w Linux
- 4 Przydatny sposób poznania podłączonej nazwy urządzenia USB w Linux »