在C#中将IPv6格式化为int并将其存储在SQL Server中

IPv4我一直在解析IP地址的字符串表示Int32,并将其存储为INTSQL Server

现在,IPv6我试图找出是否有对的字符串表示解析标准或接受的方式IPv6在两个Int64使用C#

人们又如何将这些值存储在SQL Server-的两个字段中BIGINT

回答:

正如IPv4地址实际上是32位数字一样,IPv6地址实际上是128位数字。地址有不同的字符串表示形式,但是实际地址是数字,而不是字符串。

因此,您无需将IP地址转换为数字,而是将地址的字符串表示形式解析为实际地址。

甚至没有一个decimal可以容纳128位数字,因此留下了三个明显的选择:

  • 存储分为两个bigint字段的数值
  • 将地址的字符串表示形式存储在varchar字段中
  • 将数值存储在16字节binary字段中

这两种方法都没有将IPv4地址存储在中的方便int,因此您必须考虑它们的局限性以及对地址的处理需求。

以上是 在C#中将IPv6格式化为int并将其存储在SQL Server中 的全部内容, 来源链接: utcz.com/qa/400740.html

回到顶部