Thats because it requires the `encoding` property set to a supported encoding. Else the wrapper needs to check if the `encoding`property is empty / supported on every string function.

I defined setting the encoding and convert encoding properties within one method to be free if a wrapper supports some encodings for basic string functions but not to convert all to all. -> For example the native string wrapper is marked to support all defined single byte encodings but it can't convert all encodings.