Когда я открыл файл в своем редакторе, я обнаружил, что #
был заменен на +ACM-
, <
на +ADw-
, >
на +AD4-
и "\n
на +ACIAXA-n
. Я искал некоторые ключевые слова в поисковой системе, но не получил результатов, поэтому обратился сюда за помощью.
Эта проблема возникла, когда я писал программу, созданную из нескольких исходных файлов, включая один файл .h и два файла .c. Я помню, как я ссылался на функцию, определенную в одном из файлов, и компилятор показал мне (или «подсказал») что-то, содержащее "ACM,ADs"
, и мне стало интересно, что это такое.
Я пытался найти +ACM-
и +ACM-
в поисковике, но безрезультатно.
Я попробовал изменить формат кодировки файла, но ничего не изменилось.
Какой компилятор и какой редактор? Я видел странную особенность в MSVC 2022, когда отдельный #define может стать невидимым без видимой причины. То есть строка есть в файле согласно любому другому текстовому редактору, но не видна внутри IDE. Я никогда не видел никаких повреждений файлов, подобных описанию ОП. Они кажутся мне своего рода escape-последовательностью, которую я не узнаю (напоминает команды древних модемов).
Интересно, что я нашел несколько веб-страниц, которые, похоже, сломаны таким же образом. здесь , здесь , здесь
Похоже на UTF-7.
Из Инструкция: «Отвечайте на отзывы после публикации. После публикации не убегайте слишком быстро — оставьте вопрос открытым в браузере на некоторое время, чтобы посмотреть, прокомментирует ли кто-нибудь. Если вы пропустили очевидное часть информации, будьте готовы ответить, отредактировав свой вопрос, включив ее в нее».
Было бы действительно интересно, как вы получили файлы в кодировке UTF-7...
Это действительно кодировка UTF-7.
Например. +ACM- преобразует (по Base64) в битовую последовательность:
000000 000010 001100
который получается из следующего (с добавлением двух нулей, чтобы получить кратное 6 битам для кодировки base64):
0000 0000 0010 0011
что снова соответствует U+0023, т.е. символу #
.
Ах! Два добавленных бита меня сбили с толку. Я интерпретировал это как U+008C <Частичная линия назад> (PLU).
Добро пожаловать в СО. Какой у вас редактор? Что означает «сгенерировано из нескольких исходных файлов»? Вы автоматически генерируете код? Вы запускали препроцессор над этими файлами и смотрели на результат? Вы просто имеете в виду, что программа содержит несколько модулей компиляции? И еще, какую ОС вы используете?