base58 – How to handle leading 0’s (b58 1’s) when base58check encoding

I’m trying to more fully understand the base58check encoding algorithm.

Unfortunately, I keep running into a problem with how to handle a situation where the base58 value of an input would have leading 0’s (1’s in base58).
Everywhere I find any information about this online, it simply states that “the data is encoded to avoid having leading 0s, except to represent full ‘0’ bytes in then input.”

What I need to understand is:
What is changed in the data (input or output) to avoid/correct this situation in the output string?