-creplace '\P{IsBasicLatin}' doesn't accomplish what you say you want. :-)
That will remove all characters in the string whose value is greater than 127 (decimal). It will also leave non-printable characters that exist in the ASCII character set in your string.
There's no need to resort to using Unicode groups, though. What you want is something as simple as this:
-creplace "[^\x20-\x7E]", ""