Your explanation makes no sense, and your code even less.
First if the char you read is 56, you set NewByte to 126. That is useless, as NewByte is a local variable and will be lost as soon as the while() loop ends.
Also there's no need to cast the Byte variable to int, you can compare the char variable to 56, or even the char it represents by using '8' instead of 56.
And using "E" is not the same as using 'E': 'E' is a single char, but "E" actually is a null-terminated string formed by the characters 'E' and '\0'.
Try to make a clearer explanation, and posting the full code would also help.