This C# code...
string s = \"\\u00C0\";
byte[] bytes = ASCIIEncoding.ASCII.GetBytes(s);
Trace.WriteLine(BitConverter.ToString(bytes));
prod
First step: you assing unicode char to string, then you convert it to ASCII (but it is unicode). Then you are trying to convert it back using unicode converter.
The following example do all possibilities to make my response more clear:
static void Main(string[] args)
{
string s = "\u00C0";
Console.WriteLine(s);
byte[] bytes = ASCIIEncoding.ASCII.GetBytes(s);
Console.WriteLine(BitConverter.ToString(bytes));
Console.WriteLine(ASCIIEncoding.ASCII.GetString(bytes));
Console.WriteLine("Again");
bytes = Encoding.UTF8.GetBytes(s);
Console.WriteLine(BitConverter.ToString(bytes));
Console.WriteLine(Encoding.UTF8.GetString(bytes));
Console.ReadLine();
}
And the output is:
A
3F
?
Again
C3-80
A
Btw the definition of BitConverter.GetBytes is:
Converts the numeric value of each element of a specified array of bytes to its equivalent hexadecimal string representation.