Notice
Recent Posts
Recent Comments
Link
투케이2K
205. (java/자바) Arrays toString 형태 바이트 문자열 데이터를 바이트 값으로 변환 및 string 값 출력 실시 - byte to string 본문
Java
205. (java/자바) Arrays toString 형태 바이트 문자열 데이터를 바이트 값으로 변환 및 string 값 출력 실시 - byte to string
투케이2K 2021. 5. 11. 17:26/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : Eclipse
개발 언어 : Java
/* =========================== */
/* =========================== */
[소스 코드]
package ex5;
public class MainActivity15 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("[Arrays toString 형태 바이트 문자열 데이터를 바이트 값으로 변환 및 string 값 출력 실시 - byte to string]");
/*[설 명]
* 1. 초기에 저장된 data 변수에서 [ ] 괄호 표시 문자열을 지우고, 공백데이터를 지운다
* (역슬래시 - [\\특수문자] 의미는 특수문자를 지정할때 사용한다)
* 2. data 문자열 데이터 길이가 0보다 클때 한개 이상 데이터가 저장된것으로 확인한다
* 3. check값이 0보다 클때 한개 초과 데이터가 저장된 경우로 확인한다
* 4. ,(콤마) 개수로 데이터를 split 분리 시킨다
*/
//TODO 초기 Arrays.toString(byte_arr) 형태 데이터를 String 변수에 저장
String str_data = "[104, 101, 108, 108, 111]";
//TODO 바이트 배열에 저장 실시
byte byt_arr [] = getByteArray(str_data);
System.out.println("byte_arr : "+new String(byt_arr));
}//메인 종료
//TODO [Arrays toString 문자열 형태 파싱 메소드]
public static byte [] getByteArray(String data) {
System.out.println("원본 data : "+data);
byte ok_result [] = null;
try {
//초기 Arrays.toString 형태로 저장된 문자열에서 불필요한 문자 제거 실시
data = data.replaceAll("\\[", ""); //괄호를 지운다(역슬래시 특수문자 지정)
data = data.replaceAll("\\]", ""); //괄호를 지운다(역슬래시 특수문자 지정)
data = data.replaceAll(" ", ""); //공백을 지운다
//Arrays.toString 형태는 콤마 기준으로 저장된다 (콤마 개수 체크)
int check = 0;
for(int i=0; i<data.length(); i++) {
if(data.charAt(i) == ',') {
check ++;
}
}
//check 개수 확인 후 배열 크기 지정 실시
ok_result = new byte [check+1];
//몇개의 데이터가 포함되었는지 확인 실시
if(data.length() > 0) {
if(check > 0) { //데이터가 한개 초과 저장된 경우
for(int j=0; j<=check; j++) { //콤마가 포함된 [기준]으로 문자열을 분리시킨다
ok_result [j] = Byte.valueOf(data.split("[,]")[j]);
System.out.println("저장된 데이터 : "+data.split("[,]")[j]);
}
}
else { //데이터가 한개만 저장된 경우
ok_result [0] = Byte.valueOf(data);
System.out.println("저장된 데이터 : "+data);
}
}
else {
ok_result [0] = 0x00;
System.out.println("[저장된 데이터를 확인해주세요]");
}
}
catch(Exception e) {
e.printStackTrace();
}
return ok_result;
}
}//클래스 종료
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[요약 설명]
* 1. 초기에 저장된 data 변수에서 [ ] 괄호 표시 문자열을 지우고, 공백데이터를 지운다
(역슬래시 - [\\특수문자] 의미는 특수문자를 지정할때 사용한다)
* 2. data 문자열 데이터 길이가 0보다 클때 한개 이상 데이터가 저장된것으로 확인한다
* 3. check값이 0보다 클때 한개 초과 데이터가 저장된 경우로 확인한다
* 4. ,(콤마) 개수로 데이터를 split 분리 시킨다
/* =========================== */
반응형
'Java' 카테고리의 다른 글
207. (java/자바) char to int , int to char 간 데이터 형 변환 수행 실시 (0) | 2021.07.13 |
---|---|
206. (java/자바) System out println 콘솔 (console) 로그 색상 변경 실시 (0) | 2021.07.09 |
204. (java/자바) Calendar 캘린더 사용해 문자열 데이터를 날짜로 변환 및 출력 실시 (0) | 2021.05.04 |
203. (java/자바) for 문을 사용해서 a부터 z까지 순차적으로 영문 알파벳 출력 실시 (0) | 2021.04.26 |
202. (java/자바) return 과 break 구문 차이점 설명 - for 반복문 수행 (0) | 2021.04.14 |
Comments