Error-correction code for transmission only with bit-flipping from 0 to 1
This is not possible.  There's no free lunch. You are looking for a compression scheme that is guaranteed to compress 32 bits down to less than 32 bits.  That's not possible in general, unless you have prior knowledge that lets you rule out some of the possible 32-bit values.

In particular, if you want to send 32 bits of information, and all $2^{32}$ possibilities are equally likely, and errors are not allowed, you'll have to send at least 32 bits over the communication channel.  This is a basic theorem of information theory.  No amount of error-correcting codes will get you past this.

If you want to avoid this, you'll either need prior knowledge on the 32-bit value (e.g., to rule out some as impossible, or less likely than others), or you'll need to accept lossy compression (where the recipient's received string might not exactly match what the sender wanted to send).