Если вы внимательно посмотрите на тарабарщину, вы можете сказать, что каждый еврейский символ закодирован как 2 символа - кажется, что של
закодирован как של
.
Это говорит о том, что вы смотрите на UTF8 или UTF16 как ASCII. Преобразование в UTF8 не поможет, потому что это уже ASCII и сохранит эту кодировку.
Вы можете прочитать каждую пару байтов и восстановить исходный UTF8 из них.
Вот немного C #, которое я придумал - это очень упрощенно (не полностью работает - слишком много предположений), но я мог видеть, что некоторые символы преобразованы правильно:
private string ToProperHebrew(string gibberish)
{
byte[] orig = Encoding.Unicode.GetBytes(gibberish);
byte[] heb = new byte[orig.Length / 2];
for (int i = 0; i < orig.Length / 2; i++)
{
heb[i] = orig[i * 2];
}
return Encoding.UTF8.GetString(heb);
}
Если кажется, что каждый байт был перекодирован как два байта - не уверен, какая кодировка использовалась для этого, но отбрасывание одного байта казалось правильным для большинства удвоенных символов.