안드로이드 개발 질문/답변
(글 수 45,052)
byte[] aa = 함수(); // 바이트배열 리턴..
바이트 배열을 문자열로 바꿔야 하는데.. 그냥 String 에 toString() 함수로 넣으면 데이타가 깨지네요.
그래서 원시적으로 한개씩 붙여야하는데 사이즈를 알수가 없어 익셉션 발생. !!
고수님들 도와주십시오. OTL
바이트 배열을 문자열로 바꿔야 하는데.. 그냥 String 에 toString() 함수로 넣으면 데이타가 깨지네요.
그래서 원시적으로 한개씩 붙여야하는데 사이즈를 알수가 없어 익셉션 발생. !!
고수님들 도와주십시오. OTL
2010.06.18 14:54:27
String str = new String(aa);
이런걸 원하시는 건가요? byte[]를 String으로 바꿀때 그냥 생성자에 넣어주면 알아서 바꿔 줍니다.
그리고 보통 배열은 length를 가지고 있습니다. 이걸로 배열 길이를 알 수 있죠
2010.06.18 15:04:10
aa.lenth() 는 해봤는데. invoke 어쩌구 하며 엑박오류 뜨구요.
스트링으로 변환시 완전히 다른값으로 바낌니다. UTF-8 변환입니다. 코드는 아래와 같음..
byte[] sourceData = encodeBase64(input.getBytes());
String base64 = new String();
int sz = sourceData .lenth(); //<<-- 여기서 오류뜸
for(int i = 0; i< sz; i++){
base64 += (char)sourceData[i];
}
// 여기서 sz 사이즈만 알면 되는데.. sizeof() 함수가 있는것도 아니고. ㅠㅠ
스트링으로 변환시 완전히 다른값으로 바낌니다. UTF-8 변환입니다. 코드는 아래와 같음..
byte[] sourceData = encodeBase64(input.getBytes());
String base64 = new String();
int sz = sourceData .lenth(); //<<-- 여기서 오류뜸
for(int i = 0; i< sz; i++){
base64 += (char)sourceData[i];
}
// 여기서 sz 사이즈만 알면 되는데.. sizeof() 함수가 있는것도 아니고. ㅠㅠ