I'm trying to convert a hexadecimal value to a string. It works fine in python, but in C#, it's just a bunch of characters.
Hex: "293A4D48E43D5D1FBBFC8993DD93949F"
Python
>>> bytearray.fromhex('293A4D48E43D5D1FBBFC8993DD93949F');
bytearray(b'):MH\xe4=]\x1f\xbb\xfc\x89\x93\xdd\x93\x94\x9f')
C#
public static string HextoString(string InputText)
{
byte[] bb = Enumerable.Range(0, InputText.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(InputText.Substring(x, 2), 16))
.ToArray();
return System.Text.Encoding.Unicode.GetString(bb);
// or System.Text.Encoding.UTF7.GetString
// or System.Text.Encoding.UTF8.GetString
// or System.Text.Encoding.Unicode.GetString
// or etc.
}
HextoString('293A4D48E43D5D1FBBFC8993DD93949F');
// "):MH?=]▼????????"