【问题标题】:Convert IP string to a list of unicode character values in hex将 IP 字符串转换为十六进制的 unicode 字符值列表
【发布时间】:2012-07-30 22:55:29
【问题描述】:

有什么方法可以将IP地址字符串转换为十六进制字符串,(包括点),然后返回转换后的十六进制值!

"10.10.10.11"hex(7):31,00,30,00,2e,00,31,00,30,00,2e,00,31,00,30,00,2e,00,31,00,00,00,00,00

干杯!

【问题讨论】:

    标签: c# unicode ip hex ip-address


    【解决方案1】:

    阅读您的问题后,我了解到您实际上想要将 IP 地址字符串转换为其 unicode 表示,然后您希望从中生成一个逗号分隔的底层字节列表(以十六进制编码)。

    这样就可以了:

    string.Join(",", Encoding.Unicode.GetBytes("10.10.10.11").Select(x => x.ToString("X2")))
    

    输出:

    31,00,30,00,2E,00,31,00,30,00,2E,00,31,00,30,00,2E,00,31,00,31,00
    

    【讨论】:

    • 忽略标题并找出问题的额外功劳。
    • 我有错误? System.Array' 不包含'Select' 的定义,并且找不到接受'System.Array' 类型的第一个参数的扩展方法'Select' !我必须在参考中添加什么?
    • 您需要添加using System.Linq
    【解决方案2】:

    使用System.Net.IPAddress 类,那么您应该能够将其作为字节数组获取。

    var address = System.Net.IPAddress.Parse("10.10.10.11");
    var bytes = address.GetAddressBytes();
    

    【讨论】:

      猜你喜欢
      • 2017-05-16
      • 2014-12-22
      • 2018-01-22
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      相关资源
      最近更新 更多