2013-07-05 8 views
11

में कनवर्ट करें मैं एक स्ट्रिंग वैल्यू (हेक्साडेसिमल में) को आईपी एड्रेस में कनवर्ट करना चाहता हूं। जावा का उपयोग करके मैं इसे कैसे कर सकता हूं?हेक्साडेसिमल स्ट्रिंग को आईपी एड्रेस

हेक्स मूल्य: 0A064156

आईपी: 10.6.65.86

यह site मुझे सही परिणाम देता है, लेकिन मुझे यकीन है कि मेरी कोड में इस लागू करने के लिए नहीं कर रहा हूँ।

क्या यह सीधे एक्सएसएलटी में किया जा सकता है?

+1

1. स्प्लिट स्ट्रिंग। 3. सभी सबस्ट्रिंग्स के बीच बिंदु डालें। – Sirko

उत्तर

12

कोशिश इस

InetAddress a = InetAddress.getByAddress(DatatypeConverter.parseHexBinary("0A064156")); 

DatatypeConverter मानक javax.xml.bind से है पैकेज

+1

+1। मुझे वास्तव में यह जवाब पसंद है। बहुत सारे कोड या स्ट्रिंग मैनिपुलेशन नहीं हैं और आपको वही चीज़ मिलती है जो आप चाहते हैं। – ARC

+0

बहुत बहुत धन्यवाद! मीठे और सटीक। – Rg90

4

आप अपने हेक्स मान को 2 के समूहों में विभाजित कर सकते हैं और फिर उन्हें पूर्णांक में परिवर्तित कर सकते हैं।

0A = 10

06 = 06

65 = 41

86 = 56

कोड:

String hexValue = "0A064156"; 
String ip = ""; 

for(int i = 0; i < hexValue.length(); i = i + 2) { 
    ip = ip + Integer.valueOf(hexValue.subString(i, i+2), 16) + "."; 
} 

System.out.println("Ip = " + ip); 

आउटपुट:

आईपी = 10.6.65.86।

+1

प्लस मतदान किया, आपका जवाब वास्तव में मछली पकड़ने के लिए सिखाता है – HRgiger

0
public String convertHexToString(String hex){ 

    StringBuilder sb = new StringBuilder(); 
    StringBuilder temp = new StringBuilder(); 

    for(int i=0; i<hex.length()-1; i+=2){ 


     String output = hex.substring(i, (i + 2)); 

     int decimal = Integer.parseInt(output, 16); 

     sb.append((char)decimal); 

     temp.append(decimal); 
      temp.append("."); 
    } 
    System.out.println("Decimal : " + temp.toString()); 

    return sb.toString(); 

}

0

आप निम्न विधि का उपयोग कर सकते हैं: लंबाई 2. 2. Convert सभी सबस्ट्रिंग dezimal के सबस्ट्रिंग में

public static String convertHexToIP(String hex) 
{ 
    String ip= ""; 

    for (int j = 0; j < hex.length(); j+=2) { 
     String sub = hex.substring(j, j+2); 
     int num = Integer.parseInt(sub, 16); 
     ip += num+"."; 
    } 

    ip = ip.substring(0, ip.length()-1); 
    return ip; 
} 
संबंधित मुद्दे