반응형
해당 페이지에서는 자주 사용하는 개발 패턴으로 문자열(String)을 ASCII Code로 변환하거나 ASCII Code를 문자열(String)로 변환하는 방법에 대해서 공유합니다.
1) 문자열을 ASCII Code로 변환 : String to ASCII Code
💡 문자열(String)을 ASCII Code로 변환하는 방법입니다.
1. charAt() 메서드를 이용하여 변환하는 방법: string.charAt()
💡 문자열을 문자 배열로 변환 이후 charAt(0) 함수를 통해 하나씩 ASCII 코드로 변환합니다.
/*
* [CASE1] 문자열을 문자로 변환하고 다시 숫자(ASCII)로 변환하여 숫자 배열에 넣는 방식
* 주요 키워드 : charAt() 메서드를 이용하여 변환한다.
*/
String helloStr = "hello";
String[] helloStrArr = helloStr.split("");
int[] resultIntArr = new int[helloStrArr.length];
for (int i = 0; i < helloStrArr.length; i++) {
int helloItemNum = helloStrArr[i].charAt(0);
resultIntArr[i] = helloItemNum;
}
log.debug("resultIntArr :: " + Arrays.toString(resultIntArr)); // [104, 101, 108, 108, 111]
2. String.getBytes(StandardCharsets.US_ASCII)를 이용하여 변환하는 방법
import java.nio.charset.StandardCharsets;
/*
* [CASE2] 문자열을 바이트(ASCII)로 변환하고 다시 숫자로 파싱하여 숫자 배열에 넣는 방식
* 주요 키워드 : String.getBytes(StandardCharsets.US_ASCII);
*/
String helloStr = "hello";
byte[] bytes = helloStr.getBytes(StandardCharsets.US_ASCII);
int[] resultIntArr2 = new int[bytes.length];
for (int i = 0; i < bytes.length; i++) {
resultIntArr2[i] = Byte.toUnsignedInt(bytes[i]);
}
log.debug("resultIntArr2 :: " + Arrays.toString(resultIntArr)); // [104, 101, 108, 108, 111]
2) ASCII Code를 문자열로 변환: ASCII Code to String
1. (char)로 캐스팅 하는 방법
/*
* 2. ASCII Code to String
*/
int asciiNumArr[] = {104, 101, 108, 108, 111};
char[] charArr = new char[asciiNumArr.length];
// int to String
for (int i = 0; i < asciiNumArr.length; i++) {
charArr[i] = (char) asciiNumArr[i];
}
log.debug("resultIntArr2 :: " + Arrays.toString(charArr)); // [h, e, l, l, o]
3) 기타 참고 사항
1. 자주 사용하는 ASCII Code 범위
구분 | ASCII Code 범위 | 개발 코드 범위 | 비고 |
대문자 | 65 ~ 90 | x >= 65 & x <= 90 | 총 26개 |
소문자 | 97 ~ 122 | x >= 97 & x <= 122 | 총 26개 |
숫자 | 48 ~ 57 | x >= 48 & x <= 57 | 총 10개 |
알파벳 범위 | 65 ~ 90 && 97 ~ 122 | (x >= 65 & x <= 90) & (x >= 97 & x <= 122) | 총 52개 |
오늘도 감사합니다. 😀
반응형
'Java > Short 개발' 카테고리의 다른 글
[Java/Short] String <-> int 변환 방법 : 부호(+, -) 포함 여부 (0) | 2023.02.26 |
---|---|
[Java/Short] Array, ArrayList 정렬(Sort) 방법 (0) | 2023.02.22 |
[Java/Short] 기본 자료형과 래퍼 클래스의 박싱(Boxing)과 언박싱(Unboxing) 방법 (0) | 2023.02.21 |
[Java/Short] N진법 <-> 정수(10진법) 변환 방법: + N진법간 합 방법 (0) | 2023.02.21 |
[Java/Short] Array <-> ArrayList 변환 방법 (0) | 2023.02.21 |