Когда вы создаете новый файл, он изначально пуст.«Кодировка» - это не свойство файла, а то, как вы интерпретируете его байты содержимого.Вот почему вы должны указывать кодировку перед чтением и записью, потому что она нигде не сохраняется.
Без содержимого кодировка является неопределенной.Ваш редактор, вероятно, выбирает его первое предположение, которое может быть ASCII.Но пустой контент, вероятно, может быть декодирован в любой кодировке.
Если вы напишите какой-то текст в файл в вашем коде, он будет закодирован в UTF-8.Ваш редактор также покажет свою кодировку как таковую (при условии, что она хорошая и может правильно ее определить).