There is no such thing as "merging bytes". All of memory is just a sequence of bytes, not bound to each other by anything other than linear order. If you put your bytes in the right order, you lust need to interpet them as the right type.
By being next to each other, two bytes are as "merged" as they can be. Types only exist in the programming language. Machine can't tell a char array from an int or anything else. Cast your pointers to appropriate type and it will work. If it doesn't, bad endian is likely to be the culprit.