以下は、私の問題の説明を含むコードです。
このファイルのエンコーディングを見つける必要がありますが、今は必要ありません。
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」のみが返されると仮定してください。これからはちゃんと読まねば。
そのためには、base64String の「ENCODING」が必要です。
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; }