Sorry, I was on my mobile phone
It's 30 + len(z) + 02 + len(r) + r + 02 + len(s) + s, z being what follows its size, ie 02+len(r)+r+02+len(s)+s
Wow, it make sense now.
Beware: r and s are unsigned, so if first byte of r is > 7f: r='\x00'+r
I don't see the logic behind this null addition. Unsigned is unsigned, so you can occupy the highest bit without permission....
Same for s
r and s are 32 bytes numbers, so, as it can one additional byte because of above, you have size(r)=0x20 or 0x21
So, I guess 0x1F, 0x1E, 0x1D... are allowed.
Thanks a lot!