How to convert UCS-2 and UTF-8 unicode to and from Ansi, on the Windows command line with the Swiss File Knife tool.
sfk unicode support:1. commands with real unicode conversionsfk wtoa convert UCS-2 wide character data to 8-bit data
in the Ansi codepage of your Windows system.
cannot convert characters outside your codepage.
sfk atow convert 8-bit Ansi codepage data to UCS-2 wide chars.
sfk wtou convert UCS-2 wide character data to 8-bit UTF-8.
sfk utow convert 8-bit UTF-8 data to UCS-2 wide characters.
sfk utoa convert UTF-8 to Ansi. cannot convert characters
outside your codepage.
sfk atou convert Ansi to UTF-8.
2. primitive generic reading of wide character files
by default, sfk commands that need to read TEXT files will
skip utf-16 (ucs-2, wide char) files, as they look like binary,
containing zero bytes.
you may set option "-wchar" to activate utf-16 detection and decoding
for file READING, allowing to search for words also in unicode files.
-wchar works with text processing commands like sfk filter and sfk find.
(sfk hexfind will ignore the option, as it reads everything as binary)
the decoding is primitive and simply strips every 2nd byte,
meaning that only Latin characters can be searched.
NOTE: option "-wchar" is experimental and shall not be used if you want
to write any text file contents! (e.g. with sfk filter ... -write)
during write, the utf-16 format will be replaced by a primitive
plain ascii format (NOT a proper conversion - sfk will just
drop every 2nd byte from the file) which is often not desirable.
see alsosfk help chars about codepages
sfk help nocase about case insensitive search
examplessfk -wchar filter mydir -+foo
filter "foo" in all text files of mydir, including utf-16.
sfk -wchar find mydir foobar
find "foobar" in all files of mydir, including utf-16.