1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/*
FALCON - Samples
FILE: transcoder.fal
Transcodes an input file from a certain encoding to another.
This code is currently highly experimental.
-------------------------------------------------------------------
Author: Giancarlo Niccolai
Begin:
-------------------------------------------------------------------
(C) Copyright 2006: the FALCON developers (see list in AUTHORS file)
See LICENSE file for licensing details.
*/
if len( args ) != 4
printl( "usage: ", scriptName, " <infile> <inenc> <outfile> <outenc>" )
printl( "Knwon encodings: "+
"\tutf-8\t\tUnicode UTF-8\n"+
"\tutf-16\t\tUnicode UTF-16 (endian detecting)\n"+
"\tutf-16BE\tUnicode UTF-16 Big Endian\n"+
"\tutf-16LE\tUnicode UTF-16 Little Endian\n"+
"\tiso8859-<x>\twhere <x> 1..15: ISO tables\n"+
"\tcp1252\t\tMS-Windows code page LATIN\n"+
"\tgbk\t\tGBK encoding for modern chinese\n"+
"\tC\t\tDirect untranslated byte encoding\n" )
printl( "\n...Local system encoding: ", getSystemEncoding(), "\n" )
return 0
end
try
input = InputStream( args[0] )
output = OutputStream( args[2] )
catch in error
printl( "Error while opening streams: ", error.toString() )
return 1
end
try
input.setEncoding( args[1] )
catch
printl( "Unknown encoding ", args[1] )
return 1
end
try
output.setEncoding( args[3] )
catch
printl( "Unknown encoding ", args[3] )
return 1
end
try
buffer = ""
while( input.readText( buffer, 1024 ) != 0 )
output.writeText( buffer )
end
input.close()
output.close()
catch in error
printl( "Error while transcoding streams: ", error.toString() )
return 1
end
printl( "Operation complete." )
return 0
/* end of transcoder.fal */
|