如何在保持所有“。”的同时将字节数组转换为字符串?

时间:2015-11-10 00:36:12

标签: java encoding character-encoding binary byte

我正在尝试将字节数组转换为String。这是包含“www.google.ca”的udp数据包的一部分。

#include "..\WPFLink\WPFLink.h"

int main()
{
    WPFLink::WPFWrapper wrapper; // Generates 0xe0434352 error
    return 0;
}

为什么我得到“wwwgoogleca”而不是“www.google.ca”?

在Eclipse中我甚至看到了这一点:not working

我尝试了很多角色集,但我似乎无法找到我做错的事。

提前谢谢你,

纪尧姆

1 个答案:

答案 0 :(得分:3)

字节数组不包含www.google.ca

相反,它看起来像包含三个独立的字符序列,其中每个序列都以包含序列长度(以字节为单位)的单个字节作为前缀。这是一种合理的花园式格式,用于以二进制数据包发送字符串。

所以你得到3 www 6 google 2 ca

我的猜测是你应该将每个字符串识别为DNS名称组件,并将它们自己组装成以点分隔的字符串。

您是否对要尝试读取的UDP数据包有一个很好的规范?那应该有更多的信息。

(我看到你正在尝试回答DNS请求.RFC协议记录在RFC中:RFC 1035数据包的QNAME部分对应于你找到的内容。)

相关问题