2009-07-13 3 views
1

У меня есть файл исходного кода, который начинается как копия некоторого примера кода с веб-страницы. Он был создан и отредактирован под Windows и скомпилирован без проблем.Как избавиться от специальных символов в текстовом файле? (* nix)

Но под Маком я получаю нагрузку непонятных ошибок, например:

../MyProgram.cpp:1: error: stray '\255' in program 
../MyProgram.cpp:1: error: stray '\254' in program 
../MyProgram.cpp:1: error: stray '#' in program 
../MyProgram.cpp:3:4: error: invalid preprocessing directive #i 
../MyProgram.cpp:5:4: error: invalid preprocessing directive #i 
../MyProgram.cpp:7:4: error: invalid preprocessing directive #i 
../MyProgram.cpp:23: error: missing terminating ' character 
../MyProgram.cpp:369:6: error: invalid preprocessing directive #i 
../MyProgram.cpp:371:8: error: invalid preprocessing directive #i 
../MyProgram.cpp:375:8: error: invalid preprocessing directive #e 
../MyProgram.cpp:381:8: error: invalid preprocessing directive #e 
../MyProgram.cpp:383:6: error: invalid preprocessing directive #e 
../MyProgram.cpp:385:8: error: invalid preprocessing directive #i 
../MyProgram.cpp:389:8: error: invalid preprocessing directive #e 
../MyProgram.cpp:1: error: 'i' does not name a type 
../MyProgram.cpp:53: error: 'V' does not name a type 
../MyProgram.cpp:75: error: 'v' does not name a type 
../MyProgram.cpp:157: error: 'l' does not name a type 
../MyProgram.cpp:169: error: 'l' does not name a type 
../MyProgram.cpp:187: error: 'i' does not name a type 
../MyProgram.cpp:197: error: 'v' does not name a type 

Похоже, проблема с некоторыми специальными символами.

Как отключить их с помощью командной строки * nix?

+0

под многими дистрибутивами unix есть утилита dos2unix, которая должна находиться под/usr/bin. Не уверен, что OSX имеет то, что ... – Alex

+0

http://dos2unix.darwinports.com/ – Jon

+2

Проблема не со специальными символами; это с UTF-16: FFFE - ваш намек. –

ответ

9

Похоже, что файл был сохранен как UTF-16. Открытие его в текстовом редакторе и перекодирование в UTF-8 должно, с некоторой удачей, устранить проблему.

+0

Вы правы, это UTF-16, теперь исправлено – Maleev

0

Первоначально я просто собирался сказать, как удалить символы \ 255 & \ 254, но я согласен с комментариями, это в Юникоде. попробовать

iconv -f iso-8859-1 -t utf-8 infile > outfile 

изо-8859-1 только предположение.

Смежные вопросы