What do you mean by &quot;correct&quot;?  The Unicode standard talks about well-formed UTF-8&#x2F;16&#x2F;32, but in general, any sequence of code points is permissible.  By derivation, any sequence of code points can appear in JSON strings, and any sequence of code points excluding control characters can appear in XML.  I personally have read the Unicode spec, and used it to implement some of the algorithms presented.  This includes the grapheme cluster breaking algorithm... the case of combining characters at the beginning of a line is, in fact, covered by the spec, and cause a break both before and afterwards.  In general, there are other cases where grapheme cluster breaks are not preserved by string concatenation, and you often want a locale-specific version anyway.