在从char*buffer构造字符串时,我们是否需要考虑编码(UTF-8)

evk*_*206 1 c++ unicode encoding utf-8

我正在开发一个HTTP客户端模块,它从字符缓冲区中的服务器接收信息并进行UTF-8编码.我想从这个字符缓冲区创建一个std :: string对象.

我可以通过像这样传递字符缓冲区直接创建一个字符串对象吗?

 std::string receivedstring(receievedbuffer,bufferlength);
Run Code Online (Sandbox Code Playgroud)

这里receievedbuffer是char []数组,其中包含从TCP/IP连接接收的数据,bufferlength包含接收的字节数.我真的对术语UTF-8感到困惑,我理解它是一个unicode编码,我需要在转换之前采取任何步骤.

Ric*_*ten 7

std::string receivedstring(receievedbuffer,bufferlength);
Run Code Online (Sandbox Code Playgroud)

它不进行任何转换,只是复制receievedbufferreceivedstring.

如果你receievedbuffer是UTF-8编码,那么将存储完全相同的字节receivedstring.

std :: string只是一种存储格式,并不反映存储在其中的数据的编码.