iconv is also (at least, on GNU C library systems) an executable frontend to the iconv functionality.
iconv is generally invoked like this:
iconv -f from_charset -t to_charset < infile > outfile
However, if you invoke it without specifying files, it acts like a filter, probably as you'd expect. You can also specify multiple input files as arguments, and an output file with the -o option.
Charset names are pretty much what you'd expect if you've had to work with different charsets before: "big5", "utf-8", "euc-kr", and "koi8-r" are examples of character set names iconv understands. (It will also accept common variations on names, such as "utf8" vs. "utf-8"; both are valid.) A full list of charsets GNU iconv recognizes can be found using the '-l' switch. This makes dealing with scripting charset conversions, or dealing with lots of different charsets in general, much easier.