You have to know the encoding of the string represented in bytes, but you can say System.Text.UTF8Encoding.GetString(bytes)
or System.Text.ASCIIEncoding.GetString(bytes)
. (I'm doing this from memory, so the API may not be exactly correct, but it's very close.)
For the answer to your second question, see this question.