Ниже приведен код с описанием моей проблемы:Как получить кодировку из BASE64STRING
Мне нужно найти кодировку этого файла, но не сейчас!
string FilePath = @"C:\01 New.txt"; System.IO.FileStream inFile = new System.IO.FileStream(FilePath, System.IO.FileMode.Open,System.IO.FileAccess.Read); byte[] binaryData = new Byte[inFile.Length]; long bytesRead = inFile.Read(binaryData, 0, (int)inFile.Length); inFile.Close(); string base64String = System.Convert.ToBase64String(binaryData, 0, binaryData.Length);// Converting ToBase64String Console.WriteLine("base64String is " + base64String);
Предположим, что вышеуказанный процесс выполняется чем-то другим, и он возвращает только «base64String». Теперь мне нужно прочитать его правильно.
Для этого мне нужно "Encoding" в base64String:
byte[] s = Convert.FromBase64String(base64String); switch (GET_ENCODING(base64String)) { case "ASCII": Console.WriteLine("ASCII text is " + Encoding.ASCII.GetString(s).Trim()); break; case "Default": Console.WriteLine("Default text is " + Encoding.Default.GetString(s).Trim()); break; case "UTF7": Console.WriteLine("UTF7 text is " + Encoding.UTF7.GetString(s).Trim()); break; case "UTF8": Console.WriteLine("UTF8 text is " + Encoding.UTF8.GetString(s).Trim()); break; case "BigEndianUnicode": Console.WriteLine("BigEndianUnicode " + Encoding.BigEndianUnicode.GetString(s).Trim()); break; case "UTF32": Console.WriteLine("UTF32 text is " + Encoding.UTF32.GetString(s).Trim()); break; default: break; }
и почему вы кричите? – MaVRoSCy
ЧТО ЯЗЫК ЭТО? МОЖЕТЕ РЕГУЛИРОВАТЬ ВАШИ ТЕГИ? – x29a
Как уже было сказано в ответ на многие вопросы раньше: практически невозможно выяснить, что такое кодировка двоичного блоба! Вы всегда должны **, ** всегда ** иметь метаданные, которые сообщают вам, что такое кодировка. Если вы этого не сделаете, вы в основном ввернуты. – deceze