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

本文关键字:转换 字符串 串并 回来 字符 byte | 更新日期: 2023-09-27 18:02:03

我有一个应用程序,该应用程序将请求的IP地址存储在数据库中,以varbinary(16)的方式描述如下:IPv6 IP地址的字节数组大小。

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

非常感谢!

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

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

然后在另一端

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

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

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