How to convert character to ASCII in Java

In Java, convert the character to ASCII is quite easy, it just convert the char to int.

Convert character to ASCII


int ascii = (int) character;

Convert ASCII to character


char character = (char)ascii;

Example in Java


package com.mkyong.common;
/**
 * Character Utility class
 * @author mkyong
 *
 */
public class CharUtils 
{   
	/**
	 * Convert the characters to ASCII value
	 * @param character character
	 * @return ASCII value
	 */
	public static int CharToASCII(final char character){
		return (int)character;
	}
	
	/**
	 * Convert the ASCII value to character
	 * @param ascii ascii value
	 * @return character value
	 */
	public static char ASCIIToChar(final int ascii){
		return (char)ascii;		
	}
}

Unit Test


package com.mkyong.common;
import org.testng.Assert;
import org.testng.annotations.*;
/**
 * Character Utils Testing
 * @author mkyong
 *
 */
public class CharUtilsTest {
	
	@DataProvider
	public Object[][] ValidDataProvider() {
		return new Object[][]{
				{ 'A', 65 },{ 'a', 97 },
				{ 'B', 66 },{ 'b', 98 },
				{ 'C', 67 },{ 'c', 99 },
				{ 'D', 68 },{ 'd', 100 },
				{ 'Z', 90 },{ 'z', 122 },
				{ '1', 49 },{ '9', 57 },
				
		};
	}
	
	@Test(dataProvider = "ValidDataProvider")
	public void CharToASCIITest(final char character, final int ascii) {
		   int result = CharUtils.CharToASCII(character); 
		   Assert.assertEquals(result, ascii);
	}
	
	@Test(dataProvider = "ValidDataProvider")
	public void ASCIIToCharTest(final char character, final int ascii) {
		   char result = CharUtils.ASCIIToChar(ascii); 
		   Assert.assertEquals(result, character); 
	}
}

Unit Test Result


PASSED: CharToASCIITest(A, 65)
PASSED: CharToASCIITest(a, 97)
PASSED: CharToASCIITest(B, 66)
PASSED: CharToASCIITest(b, 98)
PASSED: CharToASCIITest(C, 67)
PASSED: CharToASCIITest(c, 99)
PASSED: CharToASCIITest(D, 68)
PASSED: CharToASCIITest(d, 100)
PASSED: CharToASCIITest(Z, 90)
PASSED: CharToASCIITest(z, 122)
PASSED: CharToASCIITest(1, 49)
PASSED: CharToASCIITest(9, 57)
PASSED: ASCIIToCharTest(A, 65)
PASSED: ASCIIToCharTest(a, 97)
PASSED: ASCIIToCharTest(B, 66)
PASSED: ASCIIToCharTest(b, 98)
PASSED: ASCIIToCharTest(C, 67)
PASSED: ASCIIToCharTest(c, 99)
PASSED: ASCIIToCharTest(D, 68)
PASSED: ASCIIToCharTest(d, 100)
PASSED: ASCIIToCharTest(Z, 90)
PASSED: ASCIIToCharTest(z, 122)
PASSED: ASCIIToCharTest(1, 49)
PASSED: ASCIIToCharTest(9, 57)

===============================================
    com.mkyong.common.CharUtilsTest
    Tests run: 24, Failures: 0, Skips: 0
===============================================


===============================================
mkyong
Total tests run: 24, Failures: 0, Skips: 0
===============================================

Reference

http://www.asciitable.com/

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

Leave a Reply

avatar
newest oldest most voted
Ashan Nawarathna
Guest
Ashan Nawarathna

/**
*Get jframe and put jtexFiled and add keyTyped Evetnt and put this code line
*

*/

private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {

char c = evt.getKeyChar();
int i = (int)c;
System.out.println(i);

}

Arian Fornaris
Guest
Arian Fornaris

Thanks!

Also If you want to convert strings you can do this:

String s = new String(asciiBytes, Charset.forName(“US-ASCII”));

Artur
Guest
Artur

thanks!!

Daniel
Guest
Daniel

Thanks you very much, a very usefull information !!!