On Sat, 24 Jun 2017 19:08:36 +0100
Chris Vine <vine35792468 gmail com> wrote:
> It is because UTF-8 is a multibyte encoding, and any one character may
> require between 1 and 5 bytes to represent it. If you were allowed to
> change a byte at will you would be able to introduce invalid encoding
> sequences. As to the absense of documentation, maybe it is because
> this was thought to be self-evident, dunno.
And I should perhaps also make the point that these operators return a
32-bit unicode character, not a byte, which is consequent on the same
point. If you allowed mutation, the length of the string (in bytes)
might change.