将byte []转换为字符串并再次返回

时间:2013-03-04 17:48:17

标签: c# type-conversion

我有一个应用程序,它以这里描述的方式将请求的IP地址作为varbinary(16)存储在数据库中:Byte Array Size for a IPv6 IP Address

我需要将IP地址从一台服务器传递到另一台服务器。出于这个原因,我不能只依赖Request对象。我的问题是,如果我将IP地址作为字节[],我如何将其编码为字符串然后再将其解码为byte []?我总是对ASCII,UTF8,Unicode等编码感到困惑。

非常感谢你!

2 个答案:

答案 0 :(得分:4)

var ipString = (new IPAddress(myBytes)).ToString()

然后在另一端

var addressBytes = IPAddress.Parse(ipString).GetAddressBytes();

答案 1 :(得分:1)

对于稍微用户友好的字符串表示,您可以使用Base64

str = System.Convert.ToBase64String(bytes);
bytes = System.Convert.FromBase64String(str);