Как сохранить мой файл в кодировке UTF-16 LE без спецификации в VS2015?

В этой ссылке вы найдете таблицу 1, которую я воспроизвожу ниже. Обратите внимание, что заголовок третьего столбца в этой таблице указывает: UTF-16LE w/ or w/o BOM, Я смог сохранить свой файл, содержащий фрагмент ниже,

#include <iostream>
int main()
{
    char c[] = u8"屰";
    int i = 1;
}

выбрав пункт меню Advanced Save Options... под File меню в VS2015, с Unicode codepage 1200 который в точности соответствует UTF-16LE encoding with BOM, Это можно проверить на втором рисунке ниже, где я вставил копию файла изображения, полученного с помощью двоичного редактора. Видно, что первые два байта в файле 0xFF 0xFE который представляет спецификацию для UTF16-LE encoding, Но я не смог найти вариант в Advanced Save Options... диалоговое окно для сохранения моего файла с UTF-16LE encoding without BOM, Как мне это сделать?

введите описание изображения здесь

введите описание изображения здесь

1 ответ

Решение

Это не вариант с VS2015. Даже популярный Notepad++ не имеет опции для UTF-16 без спецификации.

Если вы просто делаете это для экспериментов, используйте любой шестнадцатеричный редактор, чтобы удалить спецификацию после сохранения. В VS2015 встроен бинарный редактор. После сохранения файла в формате UTF-16LE с спецификацией закройте и снова откройте файл с помощью двоичного редактора и удалите спецификацию. Я обнаружил, что VS2015 не может открыть файл без него, хотя, возможно, поэтому опция недоступна.

Другие вопросы по тегам