I can see the point of this request, but I don't see a reason to make it a command line option: it's only useful with UTF-16 output. (And technically UTF-32, but where do you find that use for on-disk storage?) Therefore, it only needs to happen in that condition. Further, any program that deals in UTF-16 should be able to cope with a BOM, so why not make it do that always if the output format is UTF-16?