Please refer to your other posting for the reply to the first question, which is correct.
Answer to Q1 For the second question, byte can take values from -128 to +127, how ever charcter conversion of negative numbers is not possible. So when you convert a negative number to a char you would get an undefined value. This should answer your question.
If you have any questions let us know.
Thanks,
--nb--