какие методы декодирования по умолчанию используются при открытии текстового файла в системе debain - PullRequest
1 голос
/ 15 апреля 2020

Я пишу программу на С ++ в системе Debian. Как система выбирает метод декодирования при открытии текстового файла? например:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while ( getline (myfile,line) )
    {
      cout << line << '\n';
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 

  return 0;
}

Приведенный выше код читает текстовый файл и распечатывает его. Должно быть, он выбрал метод декодирования для этого файла "example.txt". Во многих системах (например, fedora) метод декодирования по умолчанию - utf8. Что произойдет, если не удастся расшифровать utf8? И я обнаружил, что vim в моей системе fedora выберет «Latin-1» для этого файла после неудачного декодирования «utf8».

...