On the downside, even today, Tcl can&#x27;t handle characters outside the basic multi-lingual plane. It only does UCS-2, it can&#x27;t handle UTF16 surrogate pairs. If you convert an astral-plane codepoint, such as some popular emoji, from UTF8, TCL will convert each UTF8 byte into a separate unicode codepoint. There are similar catches all over, it&#x27;s just not practical to deal with non-BMP codepoints in TCL, even just to round-trip them.