我正在尝试将字节数组转换为String。这是包含“www.google.ca”的udp数据包的一部分。
#include "..\WPFLink\WPFLink.h"
int main()
{
WPFLink::WPFWrapper wrapper; // Generates 0xe0434352 error
return 0;
}
为什么我得到“wwwgoogleca”而不是“www.google.ca”?
我尝试了很多角色集,但我似乎无法找到我做错的事。
提前谢谢你,
纪尧姆
答案 0 :(得分:3)
字节数组不包含www.google.ca
相反,它看起来像包含三个独立的字符序列,其中每个序列都以包含序列长度(以字节为单位)的单个字节作为前缀。这是一种合理的花园式格式,用于以二进制数据包发送字符串。
所以你得到3 www 6 google 2 ca
我的猜测是你应该将每个字符串识别为DNS名称组件,并将它们自己组装成以点分隔的字符串。
您是否对要尝试读取的UDP数据包有一个很好的规范?那应该有更多的信息。
(我看到你正在尝试回答DNS请求.RFC协议记录在RFC中:RFC 1035数据包的QNAME部分对应于你找到的内容。)