我有一个应用程序将请求的IP地址作为varbinary(16)存储在数据库中,方法如下:Byte Array Size for a IPv6 IP Address。将字节[]转换为字符串并返回
我需要将IP地址从一台服务器传递到另一台服务器。出于这个原因,我不能只依靠Request对象。我的问题是,如果我将IP地址作为字节[],我如何将它编码为字符串,然后再将其解码为字节[]?我总是对ASCII,UTF8,Unicode等编码感到困惑。
非常感谢!
我有一个应用程序将请求的IP地址作为varbinary(16)存储在数据库中,方法如下:Byte Array Size for a IPv6 IP Address。将字节[]转换为字符串并返回
我需要将IP地址从一台服务器传递到另一台服务器。出于这个原因,我不能只依靠Request对象。我的问题是,如果我将IP地址作为字节[],我如何将它编码为字符串,然后再将其解码为字节[]?我总是对ASCII,UTF8,Unicode等编码感到困惑。
非常感谢!
var ipString = (new IPAddress(myBytes)).ToString()
然后在另一端
var addressBytes = IPAddress.Parse(ipString).GetAddressBytes();
对于一个稍微更人性化的字符串表示,你可以使用Base64
str = System.Convert.ToBase64String(bytes);
bytes = System.Convert.FromBase64String(str);
@Yuck:不,它不需要。尝试一下。它将为您提供人类可读的IP地址表示,这是在节点之间进行广告投放的最便捷的方式。 – spender 2013-03-04 17:54:55