Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

40 lines (29 sloc) 1.701 kb
`JorgeChB 2012.05.20 DocumentConvert Convierte un fichero de un encoding a otro
`$1 TEXT path del fichero en formato Mac, por ejemplo "Macintosh HD:Usuarios:Jorge:Desktop:texto.txt"
`$2 TEXT encoding en el que está el fichero, por ejemplo "MACROMAN" o "ISO-8859-1" o "UTF8" o "ISO-8859-15"
`$3 TEXT encoding al que se quiere convertir el fichero, por ejemplo "UTF-16" o "UTF-16LE"
`$4 TEXT es el BOM que hay que añadir de prefijo, escapado a texto, por ejemplo "\\xEF\\xBB\\xBF" sería el BOM para UTF8
`para UTF-16LE el BOM es "\\xff\\xfe"
`Esta rutina abre una shell y llama a iconv para convertir el fichero
`para saber qué formatos admite iconv, abrir el terminal y teclear iconv -l
`para ver las opciones que admite iconv, teclear man iconv
`OJO Esta rutina NECESITA el plugin 4D ToolBox para llamar a la shell de UNIX
`http://www.rosedev.nl/products/product.php?id=4
C_LONGINT($err)
C_TEXT($1;$2;$3;$4;$tmpFileName;$tmpDir;$cmd;$reply;$path)
$path:=Mac to UTF8 (pathToUnix ($1))
`ALERT("Fichero que hay que convertir:\r"+$path)
$tmpDir:=Mac to UTF8 (pathToUnix (RAMDISK ))
$tmpFileName:=$tmpDir+"tmp_"+Mac to UTF8 (trim (Current method name))+"_"+String(Tickcount)+"_"+String(Random)+".txt"
`ALERT("Iconv::Fichero temporal:\r"+$tmpFileName)
If ($4="") `Sin BOM
$cmd:="iconv -f "+$2+" -t "+$3+" "+$path+" > "+$tmpFileName
$err:=TBX Execute In Shell ($cmd;$reply)
Else
$cmd:="echo -ne '"+$4+"' > "+$tmpFileName
$err:=TBX Execute In Shell ($cmd;$reply)
$cmd:="iconv -f "+$2+" -t "+$3+" "+$path+" >> "+$tmpFileName
$err:=TBX Execute In Shell ($cmd;$reply)
End if
$cmd:="mv "+$tmpFileName+" "+$path
$err:=TBX Execute In Shell ($cmd;$reply)
Jump to Line
Something went wrong with that request. Please try again.