std::string per se uses no encoding — it will return the bytes you put in it. For example, those bytes might be using ISO-8859-1 encoding… or any other, really: the information about the encoding is just not there — you have to know where the bytes were coming from!