It's the usual convention for systems programming languages and has been for decades, e.g. strlen() and std::string.length(). Byte length is also just more useful in many cases.
No, those are counts by definition, and byte lengths only by coincidence. Look at wcslen() and std::wstring::length().
No, those are counts by definition, and byte lengths only by coincidence. Look at wcslen() and std::wstring::length().