바이트 배열에서 UTF16 문자열을 추출하면 변환 된 문자열을 인쇄 할 때 문자열이 하나 이상의 NULL (U + 0000)으로 구분되어 NULL이 자동으로 트림되고, 아래의 예제 프로그램 출력 "상생은"NULL로 UTF16 문자열을 분할하는 간단한 방법
import java.nio.charset.Charset;
class Ucs {
public static void main(String[] args) {
byte[] b = new byte[] {87, 0, 105, 0, 110, 0, 0, 0, 0, 0, 87, 0, 105, 0, 110, 0, 0, 0};
String s = new String(b, Charset.forName("UTF-16LE"));
System.out.println(s);
}
}
그러나 나는 그들에게 내가 뭔가에 의해 s
을 분할하는 경우에만, "승리 승리"와 같은 분리합니다. 나는 for 루프에서 NULL 문자를 발견 할 수 있다는 것을 알고있다. 이것은 정말 불쾌하다. 이 작업을 수행하는 간단한 방법이 있습니까?
네, 그게 내가 원하는 것입니다, 많은 감사합니다! – jfly