Fix for PR #3491

Fix for PR #3491, reported on https://github.com/scipy/scipy/issues/2890

Don't convert unicode string to ascii string before getting byte length. Also, get length of non string type as ascii or unicode depending on output string type.