문자열 배열을 Byte 배열로 변환하고 다음 코드를 사용하여 문자열로 변환하려고합니다.Java : CSV 문자열에서 바이트 배열
바이트가 -128에서 127 사이에있을 때 잘 작동하지만 바이트가 0에서 256 사이 (예 : 133 또는 155 등) 인 경우 127보다 큰 값을 변환하려고 시도합니다.
java.lang.NumberFormatException: Value out of range. value:"133"
String response = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97]";
String[] byteValues = response.substring(1, response.length() - 1).split(",");
byte[] bytes = new byte[byteValues.length];
for (int i=0, len=bytes.length; i<len; i++) {
bytes[i] = Byte.valueof(byteValues[i].trim());
}
String str = new String(bytes);
어떤 도움
!
입력을 부호없는 바이트로 처리하려는 것 같습니다. 그럼 -47로 무엇을 할 거니? – Boann
실제로 .NET을 사용하여 .doc, .docx 파일을 바이트 배열로 변환하고 WCF 서비스를 통해 응답을 반환합니다. 안드로이드, 응용 프로그램에서 바이트 배열을 디코딩하여 해당 파일을 표시합니다. 그래서 127, 127, 127, 127 등의 값을 포함하는 바이트 배열 –
해당 값에서 문자열을 검색하는 방법 –