&gt; C is much better, because at least it doesn&#x27;t pretend to support encodings. So you&#x27;re forced to use a 3rd party library anyway.<p>C is better because it _doesnt_ provide some kind of interface into encoding. A byte is a byte is a byte. Whether that&#x27;s some slice of a binary blob or the first byte in a multi-byte unicode string is completely irrelevant. The most infuriating thing I&#x27;ve found with higher level languages (Ruby&#x2F;Python&#x2F;etc.) is their abstractions on top of string encodings that fail to cover the hundreds of thousands of edge-cases (which, they rightfully shouldn&#x27;t cover either), meaning that the only time you do end up having to wrangle encodings is when things go south and you have to fight the language&#x27;s defaults just to get some stupid email address that most likely had a bit flip in transit somewhere to properly write to a CSV.