我正在开发一个HTTP客户端模块,它在字符缓冲区中接收来自服务器的信息,并且是UTF-8编码的。我想从这个字符缓冲区创建一个std :: string对象。
我可以通过像这样传递字符缓冲区来直接创建一个字符串对象吗?
std::string receivedstring(receievedbuffer,bufferlength);
此处receievedbuffer是char []数组,其中包含从TCP / IP连接接收的数据,bufferlength包含接收的字节数。我真的对术语UTF-8感到困惑,我知道它是一个unicode编码,我需要在转换之前采取任何步骤。
答案 0 :(得分:7)
std::string receivedstring(receievedbuffer,bufferlength);
它不进行任何转换,只是从receievedbuffer
复制到receivedstring
。
如果您的receievedbuffer
是UTF-8编码,则完全相同的字节将存储到receivedstring
。
std :: string只是一种存储格式,并不反映存储在其中的数据的编码。