A "string of length zero" means that the string contains no characters at all, and that includes invisible, zero-width, etc. Unicode characters.
Therefore a string whose on-screen representation is completely blank and zero-width is still non-empty if it contains a character.