Every programmer has to deal with encoding; it&#x27;s a fact of life. A list of bytes without encoding is just that: a list of bytes. Handling bytes as text (I.e.: &quot;I&#x2F;O&quot;)? You are now working with encodings.<p>And the funny thing is: it&#x27;s not that complex.[edit: let me rephrase: it is, but it doesn&#x27;t have to be. C family is a nightmare, Python et al are delightful].  Unless you don&#x27;t know how it works---then it&#x27;s the mystery Gordian knot, as you describe it.<p>The irony is that encoding is a worry precisely for those who try and stay away from it.<p>Don&#x27;t shy away from
encodings; embrace them. Then you will learn to love them.<p>(Another irony: with UTF8 gaining more and more mind share, encoding issues actually become <i>harder</i> to find and debug: they don&#x27;t show up, and when they do, fewer and fewer people know how to deal with them. Everyone switching to UTF8 just hides the bugs, until it doesn&#x27;t.)