我有一個應用程序將請求的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