같이 I 바이트 (B)의 배열을 가지고해석 자바 바이트 [] 문자열
b = [-98, -99]
는 I 함수로 데이터의 세그먼트를 전달해야한다. 이 함수는 String을 취합니다 (변경할 수는 없습니다).
Converting byte array to String (Java)
: 나는 B의 비트 중 하나를 변경하지 않고 자바 문자열로 B의 원시 이진 데이터를 해석하는 얻는 방법편집
이의 반복되지 않습니다
때문에, 어레이 (B)는 비트 [1,001 1,110 1,001 1,101] 또는 [9E9D]로 구성된다. 제가
String str = new String(b, "Cp1252")
을 사용하는 경우 Cp1252를 부호화 비트 1,001 또는 1,101 9D의 seqeuence 값이 없다. 그래서이 함수는 str = "¼?"결과를 낳습니다. 이진 형식은 [1001 1110 0011 1111] 또는 [9E3F]입니다. 함수가 내 비트를 변경 했으므로 본질적으로 데이터가 손상됩니다.
나는 이것이 재 해석 캐스트를 사용하여 C++에서 수행 될 수 있지만 같은 것은 자바에 존재하지 않는 생각합니다. 미리 감사드립니다.
바이트의 인코딩은 무엇을? 개별 바이트의 의미를 알기 전까지는 바이트 스트림을 String으로 해석 할 수 없습니다. – Shrike
'새로운 String (B, Charset.forName ("CP1252"))'? – assylias
[-98, -99, -100, -102, -104]에 어떤 문자가 들어가기를 기대합니까? – Patashu