.NET strings are Unicode so anything is valid pretty much. The ANSI codes that you mentioned (which overlap the Unicode but prefixed with 00
) are all outside the printable range but strings can have unprintable characters in them. This is perfectly legal and it is how binary data is transferred across many data formats including XML and JSON. There are no requirements in any (modern) language that I'm aware of that the characters in a string be printable.
As defined by wikipedia the hex code for that character is 0xAD
which is 173
decimal in ANSI. In Unicode they are prefixed with 00
so it would map to 0x00AD
.