Yes, an empty string is different to the string "". An empty string is a string without content, while the string "" contains one byte.

I admit that this is a not intuitive difference, but we have to live with that, as it's the way character strings are defined in C. If I would change that for text objects, we'd get all sorts of compatibility problems.