http://stackoverflow.com/questions/666385/how-can-i-convert-extended-ascii-to-a-system-string[
^]
Byte 189 represents a "½" in iso-8859-1 (aka "Latin-1"), so the following is maybe what you want:
var e = Encoding.GetEncoding("iso-8859-1");
var s = e.GetString(new byte[] { 189 });
All strings and chars in .NET are UTF-16 encoded, so you need to use an encoder/decoder to convert anything else, sometimes this is defaulted (e.g. UTF-8 for FileStream instances) but good practice is to always specify.
You will need some form of implicit or (better) explicit metadata to supply you with the information about which encoding.