java

[java] byte array -> String convert

sieunju 2018. 5. 6. 15:42
반응형

안녕하세요 jsieun 입니다. 

두서 없이 제목 그대로 byte array -> String 로 변환 해주는 소스 소개해드립니다. 

(비트 연산자를 잘 파악하면 이해하기 쉽습니다.)



간단한 설명하겠습니다. 


strSize 

-> byte배열 전체가  문자열을 getByte 화 한것이라면 

new String(byteArray,Charset.forName("인코딩 형식");

이런식으로 하면 되는데, byte배열에서 원하는 부분에 인코딩을 할려면

문자열을 bytes 할때 앞에 문자열 앞에 사이즈를 넣고 뒤에 문자열을 넣는 식으로 구성합니다. 

예를 들어, 안녕하세요 라는 문자열을 bytes 하면 한글이기 때문에 2byte씩 10 byte를 먹게 됩니다. 

그렇다면 앞에 헤더 부분에 10 이라는 데이터를 넣게 되는데 그 값이 strSize 라는 변수를 뜻합니다.

10

 안

녕 

하 

요 


isJava 

-> 이 변수의 의미는 자바에서 byte화 한 byteArray 인지를 판별하는 변수가 되겠습니다. 

java 에서 byte 한것과 c/c++ c# 에서 byte 한것이 서로 달라서 그에 맞게 처리한 연산이 되겠습니다. 


추가적으로 이 코드는 제가 작업중인 소스에서 byteArray 라는 배열만 수정해서 한것이므로 코드에 대해서 

이해하시고 사용하시면 되겠습니다.


감사합니다. 

반응형