What are the standard formats of transaction outputs?
AFAIK there are 5 different standard non-SegWit transaction types, and 4 SegWit ones.

Non-SegWit:

Pay to public key (P2PK)

PUSH (1 byte) + &lt;compressed/uncompressed_pk&gt; (33/65 bytes) + OP_CHECKSIG (1 byte)


Pay to public key hash (P2PKH)

OP_DUP (1 byte) + OP_HASH160 (1 byte) + PUSH (1 byte) + &lt;hash_160(PK)&gt; (20 bytes) + OP_EQUALVERIFY (1 byte) + OP_CHECKSIG (1 byte)


Multisig (P2MS)

&lt;number_of_PKs&gt; (1 byte) PUSH (1 byte) &lt;PK_0&gt; (33/65 bytes) PUSH (1 byte) &lt;PK_1&gt; (33/65 bytes)  ... PUSH (1 byte) &lt;PK_n-1&gt; (33/65 bytes) OP_CHECKMULTISIG (1 byte)


P2MS allow up to 15-15 scripts, however only up to 3-3 are standard. 

Pay to script hash (P2SH)

OP_HASH160 (1 byte) + PUSH (1 byte) + &lt;hash160(redeem_script)&gt; (20 bytes) + OP_EQUAL (1 byte)


OP_Return

OP_RETURN (1 byte) PUSH (1 byte) &lt;0 to 83 bytes of data&gt;


SegWit:

Regarding segwit types, there are two non-native and two native ones.

Native Pay to witness public key hash (P2WPKH)

OP_0 (1 byte) PUSH (1 byte) &lt;hash 160(PK*)&gt; (20 bytes)


Native Pay to witness script hash (P2WSH)

OP_0 (1 byte) PUSH (1 byte) &lt;script_hash&gt; (32 bytes)


Pay to witness public key hash encapsulated in a pay to script hash (P2SH-P2WPKH)

The redeem script follows the same structure than native P2WPKH:

redeem_script = OP_0 (1 byte) PUSH (1 byte) &lt;hash_160(PK*)&gt; (20 bytes)

While the external structure of the script (scriptPubKey) is as any other P2SH:

OP_HASH160 (1 byte) + PUSH (1 byte) + &lt;hash_160(redeeem_script)&gt; (20 bytes) + OP_EQUAL (1 byte)


Pay to witness script hash encapsulated in a pay to script hash (P2SH-P2WSH)

The redeem script follows the same structure than native P2WSH:

redeem_script = OP_0 (1 byte) PUSH (1 byte) &lt;script_hash&gt; (32 bytes)

While the external structure of the script (scriptPubKey) is as any other P2SH:

OP_HASH160 (1 byte) + PUSH (1 byte) + &lt;hash_160(redeeem_script)&gt; (20 bytes) + OP_EQUAL (1 byte)


*In P2WPKH scripts the hash 160 should correspond to a compressed public key, otherwise the funds will be lost.