Conversion entre adresse IPv4 et entier en C#
C# fournit des fonctions intégrées efficaces pour la conversion entre les adresses IPv4 standard et les nombres entiers. Un entier non signé de 32 bits peut représenter une adresse IPv4.
Pour convertir une adresse IPv4 en nombre entier, vous pouvez utiliser la méthode ToInt
fournie dans l'exemple de code suivant :
<code class="language-csharp">public static long ToInt(string addr) { // 确保正确处理符号扩展 return (long)(uint)IPAddress.NetworkToHostOrder( (int)IPAddress.Parse(addr).Address); }</code>
La conversion inverse, c'est-à-dire la reconversion de l'entier en adresse IPv4, peut utiliser la méthode ToAddr
:
<code class="language-csharp">public static string ToAddr(long address) { return IPAddress.Parse(address.ToString()).ToString(); }</code>
Ces méthodes démontrent le processus de conversion, y compris la gestion de l'échange d'octets réseau/hôte. La fonction NetworkToHostOrder
est essentielle pour assurer une conversion précise entre l'ordre des octets du réseau (utilisé lors de la transmission sur le réseau) et l'ordre des octets de l'hôte (utilisé sur la machine).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!