C ++ Visual Studio код выглядит странно в командной строке Windows? - PullRequest
0 голосов
/ 03 декабря 2018

открытие в windows

открытие в powershell

У меня была проблема экспорта файлов c ++ из visual studio на мой школьный сервер /папка, где я бы использовал PowerShell для открытия и запуска файлов в командной строке.Когда я открываю их в файле, весь код размечен и выглядит странным шрифтом, а когда я открываю их в командной строке, он выглядит как странные символыЭто приводит к тому, что код вообще не запускается.

Как мне исправить эту проблему?

edit: я добавил несколько картинок для лучшей справки

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

У вас проблема с кодировкой.Первый файл начинается с Unicode метка порядка байтов ÿþ.То есть UTF-16 с прямым порядком байтов.Поскольку UTF-16 использует два байта для каждого символа, а ваши символы из подмножества ASCII, каждый байт равен 00 - который отображается как лишние пробелы.

Второй файл труднее расшифровать, как это делает Nano.неправильно отображать символыЯ думаю, у него точно такая же проблема - UTF-16.

Кажется, что в какой-то версии Visual Studio ниндзя изменил кодировку файла по умолчанию на UTF-16.

Как исправить ситуацию, сохраните файлы в кодировке ASCII или UTF8 в своей системе Windows, а затем загрузите их, как советовал @Ghost.

0 голосов
/ 03 декабря 2018

Это может быть связано с тем, что файл закодирован в формате UTF-8, но читается как ANSI или наоборот (или из-за другого несоответствия кодировок).Попробуйте перейти к файлам непосредственно в powershell, например,

cd C:\Users\username\source\repos\projectname\projectname

, если вы используете путь по умолчанию, и откройте файл с помощью блокнота, затем нажмите «Сохранить как» и проверьте кодировку (слева от кнопки сохранения).Значение по умолчанию указывает, какая кодировка используется, попробуйте изменить на UTF-8 или ANSI - в зависимости от того, по умолчанию это не так.Если это не сработает, вы также можете попробовать UTF-16 и UTF-32 (которые, я считаю, перечислены в блокноте как Unicode и Unicode Big Endian, но я этого не проверял).

В visual studio, на этой статье , вы можете сделать это из диалогового окна сохранения, перейдя к File > Save As, а в диалоговом окне Save As нажмите стрелку вниз рядом с Save и выберите Save with encoding... По умолчанию отображается код 1252, я бы рекомендовал сначала попробовать UTF-8 и посмотреть, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...