Прежде всего: ваш заголовок использует / d ANSI, а в тексте вы ссылаетесь на ASCII. Обратите внимание, что ANSI не равен ASCII. ANSI включает в себя набор ASCII. Но набор ASCII ограничен первыми 128 числовыми значениями (0 - 127).
Если все ваши данные ограничены ASCII (7-разрядным), не имеет значения, используете ли вы UTF-8, ANSI или ASCII, поскольку и ANSI, и UTF-8 содержат полный набор ASCII. Другими словами: числовые значения от 0 до 127 включительно представляют абсолютно одинаковые символы в ASCII, ANSI и UTF-8.
Если вам нужны символы вне набора ASCII, вам нужно выбрать кодировку. Вы можете использовать ANSI, но тогда вы столкнетесь с проблемами всех различных кодовых страниц. Создать файл на машине A и прочитать его на машине B может / будет производить смешно выглядящие тексты, если эти машины настроены на использование разных кодовых страниц, просто потому, что числовое значение nnn представляет разные символы в этих кодовых страницах.
Этот «ад кодовой страницы» является причиной, по которой был определен стандарт Unicode . UTF-8 - это всего лишь единая кодировка этого стандарта, их гораздо больше. UTF-16 является наиболее широко используемым, поскольку он является родной кодировкой для Windows.
Итак, если вам нужно поддерживать что-либо, кроме 128 символов набора ASCII, мой совет - использовать UTF-8 . Таким образом, это не имеет значения, и вам не нужно беспокоиться о том, с какой кодовой страницей ваши пользователи настроили свои системы.