I was about to merge, but then noticed this...it seems odd to me to say "it copes with differently encoded strings" when the example shows that that causes an error to be raised (which, to me, is _not_ coping).

Rather than raising this error, could it return a message like this?

```
Could not produce a diff because the encoding of the actual string (UTF-8) differs from the encoding of the expected string (UTF-16LE)
```

IMO, diffs aren't essential to the failure output.  They're nice-to-haves.  I don't think the differ should ever raise an error, particularly because that would silence the real expectation failure the user got.