gpt4 book ai didi

c++ - 从 char* 缓冲区构造字符串时是否需要考虑编码 (UTF-8)

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:52 25 4
gpt4 key购买 nike

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

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

 std::string receivedstring(receievedbuffer,bufferlength);

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

最佳答案

std::string receivedstring(receievedbuffer,bufferlength);

它不做任何转换,它只是从receievedbuffer复制到receivedstring

如果您的 receievedbuffer 是 UTF-8 编码的,那么完全相同的字节将存储到 receivedstring 中。

std::string只是一种存储格式,并不反射(reflect)其中存储的数据的编码方式。

关于c++ - 从 char* 缓冲区构造字符串时是否需要考虑编码 (UTF-8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27245722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com