繁体   English   中英

C ++将UTF字节数组转换为字符串

[英]C++ Convert UTF Byte Array to String

我正在开发C#服务器和C ++客户端。 C ++客户端向服务器发送一些unicode字符串。 还行吧。 我有一个字符串对象,并使用data()函数获取字节数组,并将其通过套接字发送到c#服务器。 没关系的 服务器正确接收到该消息。 问题出在接收上。 我从c#服务器接收字节,但是我想要一种将字节“转换”为相应的unicode字符串的方法。

我试图创建一个宽字符串对象:

wstring str = wstring((wchar_t *) buff);

并通过c_str()函数提取字符串,但结果字符串不是服务器发送的字符串!

其中buff是我从套接字接收到的字节数组(无符号字符数组)。

任何帮助,将不胜感激!!!

这是我尝试解决此问题的方法:

  1. 从服务器启动。 检查要发送的数据。 是您所期望的吗?
  2. 现在连接。 运行Wireshark并检查通过以太网发送的实际数据。 是您所期望的吗?
  3. 在客户端,检查缓冲区。 是您所期望的吗?
  4. 在客户端,检查wstring。 是您所期望的吗?

从一个已知的实体(从服务器发送数据)开始,并在方法的每个步骤中对其进行检查,以了解其不再是您期望的样子。 这将告诉您错误在哪里。 一旦知道了这一点,如果仍然有问题,请发布有关该错误的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM