【发布时间】:2016-02-10 19:06:57
【问题描述】:
我正在尝试将字节数组转换为字符串。这是包含“www.google.ca”的 udp 数据包的一部分。
byte[] QDNBArray = [3, 119, 119, 119, 6, 103, 111, 111, 103, 108, 101, 2, 99, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
String s = new String(QDNBArray, "UTF-8");
为什么我得到的是“wwwgoogleca”而不是“www.google.ca”?
我尝试了许多字符集,但似乎找不到我做错了什么。
提前谢谢你,
纪尧姆
【问题讨论】:
-
你是怎么想出
QDNBArray的内容的? -
一个点应该是
46。6和2哪里来的? -
看看你的字节数组。没有一个“点”实际上是点。你用的是什么编码?查找
3、6和2,看看这些字符是什么。 -
我在java中运行本地自制的dns服务器(学校作业)。然后使用 cmd 我对 www.google.ca 进行了 nslookup 并过滤了包含合格域名 (www.google.ca) 的部分。
标签: java encoding character-encoding binary byte