That still seems weird... why are you indexing the way you are? If you want to turn consecutive pairs into bytes, then you should be addressing hostCounter[2*i] and hostCounter[2*i+1]. With your code, if you have digits:
12345678
Your pairs are going to be:
(2,1), (3, 2), (5, 3), (7, 4)
I assume you want:
(1,2), (3,4), (5,6), (7,8)
(the digits within the pairs being reversed is a trivial variation, of course). You'll get exactly that if you index with 2*i and 2*i+1
It seems that the way you're turning the concatenated digits into a string is a bit off. The digits aren't going to form something in base-16. It's going to be in decimal (which is syntactically legal for base-16, but it's semantically decimal). Also, Byte.parseByte exists. Why not just use it instead of Integer.parseInt and cast to byte?