Iconv

iconv är ett UNIX-  verktyg (och ett bibliotek med samma namn ) för att konvertera text från en kodning till en annan. Även portad till Windows.

Syntax

iconv [ -c ] [ -s ] [ -f kodning ] [ -t kodning ] [ indatafil ... ] iconv -l

Beskrivning

Verktyget iconv konverterar text från en kodning till en annan. Ingångskodningen ställs in med -f-tangenten och utgångskodningen med -t-tangenten. Alla dessa kodningar används som standard för systemets språk. Alla indatafiler läses i tur och ordning, om parametern för indatafilen inte anges används standardinmatning och den konverterade texten matas ut till standardutdata .

När alternativet -c ges, slängs tecken som inte kan konverteras helt enkelt. Annars, när ett sådant fel inträffar, kraschar programmet .

När alternativet -s ges skrivs inga felmeddelanden ut.

Omkopplaren -l visar en lista över tillgängliga kodningar.

Exempel

Massomkodning

Följande skript hittar alla filer i den aktuella katalogen med tillägget *.java, kodar om dem till UTF-8 och kopierar resultatet till res-katalogen:

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

Omkoda alla filer i en katalog med deras ersättning:

för jag i * ; gör iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Gjort

Rekursiv omkodning av alla filer av önskad typ (i exemplet - txt):

hitta. -namn '*.txt' | medan du läser i ; gör iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Gjort

Rekursiv kodning av alla html-filer:

# !/bin/sh hitta . -typ f -namn '*.htm' -o -namn '*.html' | under läsning upprepar jag $ i iconv -f WINDOWS-1251 -t UTF-8 " $ i " > tmp mv -f tmp " $i " klar

Masskodningsfönster

Följande uppsättning skript hittar alla filer i den aktuella katalogen med tillägget *.txt, kodar om till CP1251 från KOI8-R :

all.cmd:

för / R %% i i ( . ) anrop txt.cmd %% i

txt.cmd:

ställ in cd2 = %cd% cd %1 för %% j in ( *.txt ) ring % cd2 % \iconv2.cmd %% j cd %cd2%

iconv2.cmd:

iconv -c -f KOI8-R -t CP1251 %1 > vinst. %1 del %1 byt namn på vinst. %1 %1

Ett annat sätt (via cmd):

Innan du kör det här kommandot måste du lägga till sökvägen till iconv.exe-programmet i miljövariabeln Path:

för %% i i ( *.txt ) gör iconv -f cp1251 -t utf-8 " %% i" > utf8/ %% i

Kommandot kodar om alla filer med tillägget "txt" och lägger de omkodade filerna i en förskapad utf8-mapp.

Se även

Länkar