2011-03-16 11 views
22

में int को बदलें क्या जावा के लिए int को ascii प्रतीकों में परिवर्तित करने का कोई तरीका है?जावा - एसीआईआई

उत्तर

47

आप char रों ?:

int yourInt = 33; 
char ch = (char) yourInt; 
System.out.println(yourInt); 
System.out.println(ch); 
// Output: 
// 33 
// ! 

को int रों कनवर्ट करना चाहते हैं या आप String रों को int रों कनवर्ट करना चाहते हैं कर रहे हैं?

int yourInt = 33; 
String str = String.valueOf(yourInt); 

या क्या यह है कि क्या आपका मतलब है?

14

यदि आप पहले int को int में कनवर्ट करते हैं, तो आपके पास अपना एसीआईआई कोड होगा।

उदाहरण के लिए

:

int iAsciiValue = 9; // Currently just the number 9, but we want Tab character 
    // Put the tab character into a string 
    String strAsciiTab = Character.toString((char) iAsciiValue); 
1

पिछले जवाब स्ट्रिंग strAsciiTab = Character.toString ((चार) iAsciiValue) में वास्तव में; अनिवार्य हिस्सा (चार) iAsciiValue जो काम कर रहा है (बेकार Character.toString)

पहले उत्तर मतलब है था वास्तव में सही चार ch = (चार) yourInt;

अगर yourint में = 49 (या 0x31), Ch हो जाएगा '1'

2

ऐसे कई तरीके हैं (अपनी आवश्यकताओं के आधार पर) ASCII के लिए एक पूर्णांक कन्वर्ट करने के लिए कर रहे हैं, लेकिन यहाँ एक तरह से प्रत्येक पूर्णांक बाइट कन्वर्ट करने के लिए है एक ASCII वर्ण के लिए:

byte[] test = new byte[] { (byte) 0x54, (byte) 0x45, (byte) 0x53, (byte) 0x54 }; 

तो आप निम्न कर सकता है::

private static String toASCII(int value) { 
    int length = 4; 
    StringBuilder builder = new StringBuilder(length); 
    for (int i = length - 1; i >= 0; i--) { 
     builder.append((char) ((value >> (8 * i)) & 0xFF)); 
    } 
    return builder.toString(); 
} 

उदाहरण के लिए, "टेस्ट" के लिए ASCII पाठ बाइट सरणी के रूप में प्रतिनिधित्व किया जा सकता है

int value = ByteBuffer.wrap(test).getInt(); // 1413829460 
System.out.println(toASCII(value)); // outputs "TEST" 

... इसलिए यह अनिवार्य रूप से 32 बिट बिट पूर्णांक में 4 बाइट्स को 4 अलग ASCII वर्णों (एक वर्ण प्रति बाइट) में परिवर्तित करता है।

1

जावा में, आप वास्तव में Integer.toString का उपयोग अपने पूर्ण स्ट्रिंग मान में पूर्णांक को परिवर्तित करने के लिए करना चाहते हैं। समतुल्य रूप

private static final char[] DIGITS = 
    {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; 

private static char getDigit(int digitValue) { 
    assertInRange(digitValue, 0, 9); 
    return DIGITS[digitValue]; 
} 

या,: तुम सिर्फ 0-9 अंक के साथ काम कर रहे हैं, तो आप कुछ इस तरह इस्तेमाल कर सकते हैं

private static int ASCII_ZERO = 0x30; 

private static char getDigit(int digitValue) { 
    assertInRange(digitValue, 0, 9); 
    return ((char) (digitValue + ASCII_ZERO)); 
} 
0

आप जावा में ASCII के लिए एक नंबर बदल सकते हैं। उदाहरण ASCII में नंबर 1 (आधार 10 है) को परिवर्तित करना।

char k = Character.forDigit(1, 10); 
System.out.println("Character: " + k); 
System.out.println("Character: " + ((int) k)); 

आउटपुट:

Character: 1 
Character: 49 
संबंधित मुद्दे