using System.Collections.Generic;
using System.Globalization;
using System.Diagnostics;
public static void Main()
foreach (var toEncoding in Encoding.GetEncodings())
foreach (var fromEncoding in Encoding.GetEncodings())
var s = toEncoding.GetEncoding().GetString(fromEncoding.GetEncoding().GetBytes(original));
Console.WriteLine(string.Format("Match Found: Encoding via {0} and decoding via {1}", fromEncoding.Name, toEncoding.Name));
Console.WriteLine("Found {0} matches", count);
private static void TestJsonFix()
TestJsonFix("IBM01141", "IBM037");
private static void TestJsonFix(string toEncodingName, string fromEncodingName)
""key2"": ""beigef}gtem Zahlschein"",
""key3"": "" G E L \ S C H T"",
Console.WriteLine(string.Format("Testing re-encoding from \"{0}\" to \"{1}\"", fromEncodingName, toEncodingName));
var fixedJson = Encoding.GetEncoding(toEncodingName).GetString(Encoding.GetEncoding(fromEncodingName).GetBytes(json));
Console.WriteLine(fixedJson);