Block Header - Encoding/Serialization I have read that Previous Block hash takes around 32 bytes in the Block Header. Since it is a SHA256 hash which is 64 characters long, shouldn't it take 64 bytes as well? Similarly, Merkle root and other parameters.

Take a look at the following:
    010000009500c43a25c624520b5100adf82cb9f9da72fd2447a496bc600b0000000000006cd862370395dedf1da2841ccda0fc489e3039de5f1ccddef0e834991a65600ea6c8cb4db3936a1ae3143991

Length: 160

Apparently, it is x2 of what is actually written everywhere.

What kind of encoding is used here?
That is hex encoding, two ASCII characters per byte. 

SHA256 output is 32 bytes, or 64 characters when hex encoded.