- P2S has no limit since it is the serialized script.
- P2SH is 192 bits since it is the "first 192 bits of the Blake2b256 hash of serialized script bytes."
- P2PK length is fixed. You can use the linked class to validate an address (it gives a runtime exception when created from an invalid string).
In P2S, everyone can see the script; in P2SH, the script will be known when it will be spent.
0x12 at the beginning, and P2S has
0x13 on testnet and
0x03 on mainnet accordingly (note that in hex, you can see that, but in base58, it can change to anything).
As you can see
03 10 02 04 a0 0b 08 cd 02 a1 f5 67 16 cb 8d f4 fe b9 37 14 37 90 4b 91 25 b8 2d b9 39 23 8c d7 d9 48 78 6d b3 3d e3 13 9f ea 02 d1 92 a3 9a 8c c7 a7 01 73 00 73 01 8c 23 55 af