Jakie jest najszybsze, najłatwiejsze narzędzie lub metoda konwersji plików tekstowych między zestawami znaków?
W szczególności muszę przekonwertować z UTF-8 na ISO-8859-15 i odwrotnie.
Wszystko idzie: jednowierszowe w Twoim ulubionym języku skryptowym, narzędzia wiersza poleceń lub inne narzędzia do systemu operacyjnego, stron internetowych itp.
Najlepsze rozwiązania do tej pory:
W systemach Linux / UNIX / OS X / cygwin:
Gnu iconv sugerowany przez Troelsa Arvina najlepiej stosować jako filtr . Wydaje się być powszechnie dostępny. Przykład:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Jak zauważył Ben , istnieje internetowy konwerter wykorzystujący iconv .
Recode Gnu ( ręczne ) sugerowane przez Cheekysoft przekonwertuje jeden lub kilka plików w miejscu . Przykład:
$ recode UTF8..ISO-8859-15 in.txt
Ten używa krótszych aliasów:
$ recode utf8..l9 in.txt
Recode obsługuje również powierzchnie, które można wykorzystać do konwersji między różnymi typami zakończeń linii i kodowaniem:
Konwertuj znaki nowej linii z LF (Unix) na CR-LF (DOS):
$ recode ../CR-LF in.txt
Plik kodowania Base64:
$ recode ../Base64 in.txt
Możesz je również łączyć.
Konwertuj plik UTF8 zakodowany w Base64 z zakończeniami linii Unix na plik Latin 1 w formacie Base64 z zakończeniami linii Dos:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
W systemie Windows z Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Brak obsługi ISO-8859-15; mówi, że obsługiwane zestawy znaków to Unicode, UTF7, UTF8, UT32, ASCII, Bigendianunicode, domyślny i OEM).
Edytować
Czy masz na myśli wsparcie iso-8859-1? Użycie „String” robi to np. Na odwrót
gc -en string in.txt | Out-File -en utf8 out.txt
Uwaga: Możliwe wartości wyliczeń to „Nieznany, Ciąg, Unicode, Bajt, BigEndianUnicode, UTF8, UTF7, Ascii”.
- CsCvt - Kalytta's Character Set Converter to kolejne świetne narzędzie do konwersji oparte na linii poleceń dla systemu Windows.
recode
zadziała również jako filtr, jeśli nie podasz żadnych nazw plików, np .:recode utf8..l9 < in.txt > out.txt
enca
, nie musisz określać kodowania wejściowego. Jest to na tyle często, żeby określić język: enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
zapisanych tylko około siedmiuset tysięcy linii, tylko jedna trzecia. Za pomocą wersji iconv -f UTF-32 -t UTF-8 file.csv
lokalnej udało się przekonwertować wszystkie 2 miliony linii plus.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
ale konwertuje plik do utf-8, ale potem jest pusty! Notepad ++ mówi, że plik ma format Ansi, ale czytam, bo rozumiem, że to nawet nie jest prawidłowy zestaw znaków? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF