내가 뭔가를 디버깅하기 위해 노력하고있어 다음과 같은 코드가 이제까지비어 있지 않은 UTF-8 바이트 배열에서 빈 Java 문자열을 만들 수 있습니까?
public boolean impossible(byte[] myBytes) {
if (myBytes.length == 0)
return false;
String string = new String(myBytes, "UTF-8");
return string.length() == 0;
}
나는 true를 돌려줍니다 그 전달할 수있는 값이 true를 돌려 수 있는지 궁금하네요? 필자는 2 바이트 시퀀스의 첫 번째 바이트 만 통과시키지 만 여전히 하나의 문자열을 생성합니다.
분명히하기 위해 GCJ를 통해 컴파일 된 Java 1.4 코드의 PowerPC 칩에서 원시 바이너리 실행 파일이 발생했습니다. 이것은 기본적으로 대부분의 배팅이 꺼져 있음을 의미합니다. Java의 '정상적인'동작 또는 Java의 스펙이 어떤 약속을했는지 궁금합니다.
불행히도 Java는 UTF-8 BOM을 올바르게 처리하지 못합니다. 전혀 처리하지 않습니다. 콘텐츠의 일부로 취급합니다. –