string s = "?test=1&x=username&pagecount=10"; //string to HEX string hex = BitConverter.ToString(System.Text.Encoding.UTF8.GetBytes(s)).Replace("-", string.Empty); Console.WriteLine(hex); // HEX to string byte[] bytes = System.Text.Encoding.UTF8.GetBytes(hex); string s2= System.Text.Encoding.UTF8.GetString( Enumerable.Range(0, hex.Length).Where(x => 0 == x % 2).Select(x => Convert.ToByte(hex.Substring(x, 2), 16)).ToArray()) ; Console.Write(s2);