求一函数:16进制IP字符串转 正常IP字符串 String str="0xffffff00"; 需要得到:255.255.255.0的格式 谢谢 

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【tt2451】截止到2008-08-01 13:32:29的历史汇总数据(不包括此帖):
    发帖的总数量:12                       发帖的总分数:728                      每贴平均分数:60                       
    回帖的总数量:93                       得分贴总数量:57                       回帖的得分率:61%                      
    结贴的总数量:11                       结贴的总分数:698                      
    无满意结贴数:1                        无满意结贴分:30                       
    未结的帖子数:1                        未结的总分数:30                       
    结贴的百分比:91.67 %               结分的百分比:95.88 %                  
    无满意结贴率:9.09  %               无满意结分率:4.30  %                  
    值得尊敬

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=tt2451
      

  2.   


    public static void main(String[] args) throws IOException
    {
               String str="0xffffff00";            System.out.println(getIPFromHex(str));
            }       public static String getIPFromHex(String hexIP)
    {
    String retIP="";
    for(int i=2;i<hexIP.length();i+=2)
    {
    retIP+=Integer.valueOf(hexIP.substring(i, i+2), 16).toString();
    if(i!=hexIP.length()-2)
    {
    retIP+=".";
    }
    }
    return retIP;
    }
      

  3.   


    public class Test{
        public static void main(String[] args) {
            String str="0xffffff00";
            str=transform(str);
            System.out.println(str);
        }
        public static String transform(String str){
            StringBuilder builder=new StringBuilder();
            for(int i=2;i<str.length();i+=2){
                String sub=str.substring(i,i+2);
                int value=Integer.parseInt(sub, 16);
                builder.append(value+".");
            }
            builder.deleteCharAt(builder.length()-1);
            return builder.toString();
        }
    }transform方法完成转换功能。
      

  4.   

    public class Test01 {
        public static void main(String[] args) {
            String str = "0xffffff00";
            System.out.println(toIp4(str));
        }    public static String toIp4(String ip) {
            if(ip.toLowerCase().indexOf("0x") >= 0) {
                ip = ip.substring(2);
            }
            if(ip.length() > 8) {
                throw new IllegalArgumentException("IP data format ERROR!");
            }
            long num = Long.parseLong(ip, 16);
            return ((num & 0xff000000) >>> 24) + "." +
                   ((num & 0xff0000  ) >>> 16) + "." +
                   ((num & 0xff00    ) >>> 8) + "." +
                   ((num & 0xff      ));
        }
    }