PROTON-576: update String UTF-8 encoding to handle high range unicode characters / surrogate pairs Applied patch from Dominic Evans with modifications by Rob Godfrey