Iconv

iconv este un  utilitar UNIX (și o bibliotecă cu același nume ) pentru conversia textului dintr-o codificare în alta. Portat și pe Windows.

Sintaxă

iconv [ -c ] [ -s ] [ codificare -f ] [ codificare -t ] [ fişier de intrare ... ] iconv -l

Descriere

Utilitarul iconv convertește textul dintr-o codificare în alta. Codificarea de intrare este setată cu tasta -f, iar codificarea de ieșire cu tasta -t. Oricare dintre aceste codificări este implicită la localitatea sistemului. Toate fișierele de intrare sunt citite pe rând, dacă parametrul fișierului de intrare nu este specificat, atunci este utilizată intrarea standard , iar textul convertit este scos la ieșire standard .

Când este dată opțiunea -c, caracterele care nu pot fi convertite sunt pur și simplu eliminate. În caz contrar, atunci când apare o astfel de eroare, programul se blochează .

Când este dată opțiunea -s, nu sunt tipărite mesaje de eroare.

Comutatorul -l afișează o listă de codificări disponibile.

Exemple

Transcodare în masă

Următorul script găsește toate fișierele din directorul curent cu extensia *.java, le recodează în UTF-8 și copiază rezultatul în directorul res:

mkdir res find -maxdepth 1 -iname "*.java" -type f -exec bash -c "iconv -c -f WINDOWS-1251 -t UTF-8 {} > ./res/{}" \;

Recodificarea tuturor fișierelor dintr-un director cu înlocuirea lor:

pentru i în * ; do iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Terminat

Recodificare recursiva a tuturor fișierelor de tipul necesar (în exemplu - txt):

găsi. -nume '*.txt' | în timp ce citesc i ; do iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Terminat

Recodificarea recursiv a tuturor fișierelor html:

# !/bin/sh find . -type f -name '*.htm' -o -name '*.html' | în timp ce citesc , fac eco $i iconv -f WINDOWS-1251 -t UTF-8 " $i " > tmp mv -f tmp " $i " terminat

Ferestre de transcodare în bloc

Următorul set de scripturi găsește toate fișierele din directorul curent cu extensia *.txt, recodifică în CP1251 din KOI8-R :

all.cmd:

pentru / R %% i în ( . ) apelați txt.cmd %% i

txt.cmd:

setați cd2 = %cd% cd %1 pentru %% j în ( *.txt ) apelați % cd2 % \iconv2.cmd %% j cd %cd2%

iconv2.cmd:

iconv -c -f KOI8-R -t CP1251 %1 > câștigă. %1 din %1 redenumiți câștig. %1 %1

Alt mod (prin cmd):

Înainte de a executa această comandă, trebuie să adăugați calea către programul iconv.exe la variabila de mediu Path:

pentru %% i în ( *.txt ) do iconv -f cp1251 -t utf-8 " %% i" > utf8/ %% i

Comanda va recoda toate fișierele cu extensia „txt” și va pune fișierele recodate într-un folder utf8 pre-creat.

Vezi și

Link -uri