728x90
반응형
질문 : Java String을 byte []로 변환하는 방법은 무엇입니까?
자바로 변환 할 수있는 방법이 있나요 String
A와 byte[]
(안 박스 Byte[]
)?
이 시도에서 :
System.out.println(response.split("\r\n\r\n")[1]);
System.out.println("******");
System.out.println(response.split("\r\n\r\n")[1].getBytes().toString());
그리고 나는 별도의 출력을 얻고 있습니다. gzip 문자열이므로 첫 번째 출력을 표시 할 수 없습니다.
<A Gzip String>
******
[B@38ee9f13
두 번째는 주소입니다. 내가 뭘 잘못하고 있니? 다음과 같이 gzip 압축 해제기에 제공하려면 byte[]
에 결과가 필요합니다.
String decompressGZIP(byte[] gzip) throws IOException {
java.util.zip.Inflater inf = new java.util.zip.Inflater();
java.io.ByteArrayInputStream bytein = new java.io.ByteArrayInputStream(gzip);
java.util.zip.GZIPInputStream gzin = new java.util.zip.GZIPInputStream(bytein);
java.io.ByteArrayOutputStream byteout = new java.io.ByteArrayOutputStream();
int res = 0;
byte buf[] = new byte[1024];
while (res >= 0) {
res = gzin.read(buf, 0, buf.length);
if (res > 0) {
byteout.write(buf, 0, res);
}
}
byte uncompressed[] = byteout.toByteArray();
return (uncompressed.toString());
}
답변
decompressGZIP()
메서드에 필요한 byte[]
입니다.
따라서 질문에 대한 기본적이고 기술적 인 답변은 다음과 같습니다.
byte[] b = string.getBytes();
byte[] b = string.getBytes(Charset.forName("UTF-8"));
byte[] b = string.getBytes(StandardCharsets.UTF_8); // Java 7+ only
그러나 당신이 씨름하는 것처럼 보이는 문제는 이것이 잘 표시되지 않는다는 것입니다. toString()
을 호출하면 클래스 이름 + 메모리 주소 인 Object.toString()
결과에서 [B@38ee9f13
, [B
는 byte[]
의미하고 38ee9f13
@
구분 된 메모리 주소입니다.
표시 목적으로 다음을 사용할 수 있습니다.
Arrays.toString(bytes);
그러나 이것은 쉼표로 구분 된 정수의 시퀀스로 표시 될 뿐이며 원하는 것이 아닐 수도 있습니다.
byte[]
에서 읽을 수있는 String
다시 얻으려면 다음을 사용하십시오.
String string = new String(byte[] bytes, Charset charset);
Charset
버전이 선호되는 이유는 String
객체가 내부적으로 UTF-16으로 저장되기 때문입니다. byte[]
로 변환 할 때 선택한 문자 세트에 따라 String
의 주어진 글리프에 대해 다른 바이트 분석을 얻을 수 있습니다.
출처 : https://stackoverflow.com/questions/18571223/how-to-convert-java-string-into-byte
728x90
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
자바 스크립트 배열을 선언 할 때 "Array ()"와 "[]"의 차이점 (0) | 2021.09.07 |
---|---|
Java에서 SoftReference와 WeakReference의 차이점 (0) | 2021.09.03 |
Java에서 equals 및 hashCode 메소드를 재정의 해야 하는 이유 (0) | 2021.09.01 |
Java에서 SuppressWarnings ( "unchecked")의 의미 (0) | 2021.08.27 |
JS 객체를 JSON 문자열로 변환 (0) | 2021.08.25 |