18. Об утилите native2ascii
Эта утилита входит в состав Sun JDK и предназначена для преобразования исходных текстов к ASCII-виду.
Она читает входной файл, используя указанную кодировку, а на выходе записывает символы в формате "\uXXXX".
Если указать ключик -reverse, то выполняется обратная конвертация.
Эта программа очень полезна для конвертации файлов ресурсов (.properties) или для обработки исходников, если Вы предполагаете, что они могут компиляться на компьютерах с отличными от русских региональными настройками.
Если запустить программу без параметров, она работает со стандартным входом (stdin), а не выводит подсказку по ключам, как остальные утилиты.
Это приводит к тому, что многие и не догадываются о необходимости указания параметров (кроме, может быть, тех, кто нашёл в себе силы и мужество заглянуть таки в документацию :-).
Между тем этой утилите для правильной работы необходимо, как минимум, указать используемую кодировку (ключик -encoding).
Пример конвертации файла написанного в кодировке CP866:
native2ascii -encoding CP866 inputfile.txt outputfile.txt
Если этого не сделать, то будет использована кодировка по умолчанию (из file.encoding), что может несколько расходится с ожидаемой.
В результате, получив неверные кода букв (из-за неверной кодировки) можно потратить весьма много времени на поиск ошибок в абсолютно верном коде.