바이트 배열을 문자열로 다시 변환

Lasf

나는이 질문이 아마 어리석은 것임을 압니다. 그러나 헤이, 힘든 하루입니다. 어쨌든 다음을 고려하면 :

scala> import java.nio.charset.Charset
import java.nio.charset.Charset

scala> val alpha = Array[Byte](2,-9,-7,-126,-36,-41,-16,56)
alpha: Array[Byte] = Array(2, -9, -7, -126, -36, -41, -16, 56)

scala> val beta = new String(alpha, Charset.forName("UTF-8"))
beta: String = ?������8

scala> val gamma = beta.getBytes(Charset.forName("UTF-8"))
gamma: Array[Byte] = Array(2, -17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, 56)

왜 안 alpha == gamma됩니까? 이를 수행하는 올바른 방법은 무엇입니까?

업데이트 : Base64 인코딩 / 디코딩이 작동합니다. 그러나 UTF-8이 왜 그렇지 않은지 여전히 관심이 있습니다. 아마도 하나 이상의 해당 바이트에 대한 UTF-8 표현이 없기 때문일 수 있습니다.

GreyBeardedGeek

UTF-8은 1-4 바이트 부호없는 값을 사용합니다. 그런 값을 언더 플로 할 때 실제로 얻는 UTF-8 값을 파악해야합니다.

을 확인 new String(alpha) == new String(gamma)하면 true를 반환하는 것을 볼 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

문자열 배열을 바이트 배열로 다시 변환

바이트 배열을 문자열로 다시 변환

바이트 배열을 문자열로 변환하고 다시 바이트 배열로 변환하는 문제

바이트 배열을 문자열로 변환 한 다음 다시 바이트 배열로 되돌립니다.

문자열을 바이트 배열로 변환 한 다음 원래 문자열로 다시 변환

바이트 배열의 golang 문자열 형식을 원래 바이트 배열로 다시 변환

바이트 배열을 문자열 배열로 변환 한 다음 다시 바이트 배열로 변환 할 수 있습니까?

문자열 바이트를 다시 바이트로 변환

바이트 배열을 numpy 배열로 다시 변환

바이트 배열을 문자열로 변환 한 다음 다시 바이트 배열로 변환 할 때 길이가 다른 이유는 무엇입니까?

바이트 배열을 문자열로 변환 할 수 없습니다.

Python : 배열이어야하는 문자열을 배열로 다시 변환

바이트 배열을 문자열 배열로 변환

Arduino: 문자열 배열을 바이트 배열로 변환

바이트 문자열을 바이트 배열로 변환

바이트 배열을 바이트 문자열로 변환

자바 스크립트는 배열 형식의 문자열을 배열로 다시 변환

바이트를 문자열로 다시 변환

핸들 바는 문자열 배열을 변수 배열로 변환합니다.

.NET에서 문자열의 바이트 배열을 가져오고 Javascript로 다시 변환

바이트 배열에서 문자열로 변환하고 다른 문자열과 비교하십시오 (java)

이미지 데이터 문자열 (str)을 다시 바이트로 변환

자바 : UTF8 문자열을 다른 인코딩의 바이트 배열로 변환

Javascript, 배열을 다음과 같이 문자열로 변환

문자열로 다중 배열 JSON을 배열 파이썬으로 변환

비트 문자열을 바이트 배열로 변환

Go - 원시 바이트 문자열을 uuid로 변환

파이썬 : 문자열을 바이트 배열로 변환

파이썬 : 문자열을 바이트 배열로 변환