How many characters per block in an El Gamal ECC cryptosystem?
First: use rather ECIES or some other IND-CCA2 safe variant.

If this is a theoretical question you need to know, that any plaintext (a number) must be smaller than $p$. To reach this the bitlength $log_2(m)$ must be smaller than the bitlength $log_2(p)$. Now you can only encode the data as bytes(256 values), so we are switching from base 2 to base 256 and hence $msglen=log_{256}(m)&lt;log_{256}(p)$.

I hope that answers your question (although a bit late)