2012-06-22 166 views
1

我有一个存储在字节数组中的ipv4地址。在索引n并且直到索引n+3每个索引需要4个字节。将字节数组中的IPv4地址复制到字符串

(index)    n  n+1  n+2 n+3     
[..] [..] [..] [ 1st byte ][ 2nd ] [ 3rd ] [ 4th ] [..] [..] 

如何将此构造复制到字符串。我想收到的字符串,如 “192.168.0.1”,而

byteArray[n] = 192; 
byteArray[n+1] = 168; 
byteArray[n+2] = 0; 
byteArray[n+3] = 1; 

最后,问题解决,解决的办法是:

string str = recCommand.parameters[10] + "." + recCommand.parameters[11] + 
"." + recCommand.parameters[12] + "." + recCommand.parameters[13]; 
+0

所以在第一个八位字节之前存储在Byte []数组中?如果它为空,那么你可以简单地通过数组检查是否存在!null并将结果存储在一个字符串中.... loop byte [] array..check!null ... + = string。对于这个帖子的粗糙感到抱歉。 – Botonomous

+0

有通过TCP接收到的查询命令的一部分,它不是一个空 – vard

+0

是的,这工作,谢谢。 – vard

回答

3

像这样的事情

 byte[] some = { 192, 168, 0, 1 }; 
     String ip = "" + some[0] + "." + some[1] + "." + some[2] + "." + some[3]; 
     Console.WriteLine("ip=" + ip ); 
+0

是的,谢谢,Anne提出了同样的建议,但不幸的是作者删除了它。它工作,很好,谢谢。 – vard

+0

可以简化为string.Format(“{0}。{1}。{2}。{3}”,有些) –