REST 서비스를 통해 바이트 배열을 전송합니다. 그것은 String으로 수신 중입니다. 여기에 그것의 발췌입니다. 시작 태그와 종료 태그. 구문 분석 String JavaME에서 바이트 배열 respresentation
[0,0,0,0,32,122,26,65,0,0,0,0,96,123,26,65,0,0,0,0,192,123,20,65,0,0,0,0,0,125,20,65,71,73,70,56,57,97,244,1,244,1,247,0,0,51,85,51,51,85,102,51,85,153,51,85,204,51,85,255,51,128,0,51,128,51,51,128,102,51,128,153,51,128,204,51,128,255,51,170,0,51,170,51,51,170,102,51,170,153,51,170,204,51,170,255,51,213,0,51,213,51,51,213,102,51,213,153,51,213,204,51,213,255,51,255,0,51,255,51,51,255,102,51,255,153,51,255,204,51]
어쨌든 이것은 필자가 뭘하려 :
str = str.replace('[', ' ');
str = str.replace(']', ' ');
String[] tokens = split(str,",");
byte[] decoded = new byte[tokens.length];
for(int i = 0; i < tokens.length; i++)
{
decoded[i] = (byte)Integer.parseInt(tokens[i]);
}
을하지만 실패합니다. split은 JAVA 구현과 같습니다. found here.
논리적으로 작동해야합니까? 그러나 그것의. JavaME/Blackberry입니다. 아니 자바 대답하시기 바랍니다 (그들이 javaME에서 작동하지 않는 한).
웹에서 이미지를 끊임없이 전송할 때 과도하지 않습니다. Ive는 base64 디코더의 많은 다른 implentations를 시도했고 항상 작동하지 않습니다. 디코딩 오류가 발생했습니다. 64k 이상에서는 정적 메소드가 구문을 분석 할 수 없으며 (64k 미만인 경우 정적 메소드로 작동) 디코딩 할 수있는 무언가에 대해 읽기 메소드가 무작위로 실패합니다. 비록 부호없는 바이트 관찰을 주셔서 감사합니다! – Doomsknight
잘 작동합니다. 감사. 그리고 당신이 한 일을 설명하기 위해서 (부호없는 바이트의 관점에서). 분할 코드에이 코드를 삽입하려고합니다. 배열을 두 번 통과하는 포인트가 없습니다.). – Doomsknight
사용하려고했던 base64 구현을 살펴보고 결과를 로컬 버퍼에 저장하는 대신 (디바이스에서 최대 64k는 내 추측이 될 것입니다.) 스트림을 사용하고 입력이있는 스트림 하나를 출력 - 아마도 출력 파일 또는 뭔가 갈 수 있을까요? 대부분의 구현에서 시작되는 부분이 아닌 4 바이트 블록마다 패딩을 처리해야 할 수도 있습니다.라파엘 (Rafael)의 답변 링크에있는 링크의 코드는 좋은 기반처럼 보입니다. – esej