@@ -40,10 +40,11 @@ public static string ReadAllText(string filename)
4040 /// </summary>
4141 /// <param name="filename">The file to read text</param>
4242 /// <param name="targetEncoding">The target encoding to transform to the return value</param>
43+ /// <param name="fallbackEncoding">Fallback encoding for the input</param>
4344 /// <returns>Returns the text</returns>
44- public static string ReadAllText ( string filename , Encoding targetEncoding )
45+ public static string ReadAllText ( string filename , Encoding targetEncoding , Encoding fallbackEncoding = null )
4546 => targetEncoding
46- . GetString ( AutomaticTransformBytes ( filename , targetEncoding ) )
47+ . GetString ( AutomaticTransformBytes ( filename , targetEncoding , fallbackEncoding ) )
4748 . Trim ( new [ ] { '\uFEFF ' } ) ;
4849
4950 /// <summary>
@@ -59,10 +60,12 @@ public static void WriteAllText(string path, string text, Encoding targetEncodin
5960 /// Automatic transform bytes
6061 /// </summary>
6162 /// <param name="filename">The file to analyze</param>
62- /// <param name="targetEncoding"></param>
63+ /// <param name="targetEncoding">The output target encoding</param>
64+ /// <param name="fallbackEncoding">Fallback encoding for the input</param>
6365 /// <returns>Transformed byte array</returns>
64- private static byte [ ] AutomaticTransformBytes ( string filename , Encoding targetEncoding )
65- => Encoding . Convert ( GetAcceptableEncoding ( filename ) , targetEncoding ,
66+ private static byte [ ] AutomaticTransformBytes ( string filename , Encoding targetEncoding ,
67+ Encoding fallbackEncoding = null )
68+ => Encoding . Convert ( GetAcceptableEncoding ( filename , fallbackEncoding ) , targetEncoding ,
6669 File . ReadAllBytes ( filename ) ) ;
6770
6871 /// <summary>
0 commit comments