이 질문과 대답은 여기를 참조하십시오 : Java: Convert String “\uFFFF” into char. 이 질문은 필자가 요구하는 것과 매우 비슷하지만 내 요구 사항에 대답하지 않습니다.Java : UTF 표현의 문자열을 단일 UTF Char로 변환 하시겠습니까?
문자열이 String ori = new String("\"" + "\u" + n + "\"");
에 의해 형성되는 경우 어떻게됩니까? 여기서 n은 Integer.toString (i)에 의해 형성된 문자열입니다. 여기서 i는 int입니까? 이 문자열 변수 ori
을 어떻게 유니 코드 문자로 변환 할 수 있습니까? 이 경우 String n = Integer.toString(i);
n = "0000".substring(n.length()) + n;
, 그 응답이 변조 방법은 다음과 같이
내지 N 행 I 체인은 무엇입니까? 예를 들어, char c = "\uFFFF".toCharArray()[0];
?
확인했습니다. 위의 코드는 다음으로 대체 할 수 없습니다 : char c = ori.toCharArray()[0];
변환이 프로그램 내에 있기 때문에 다음과 같이 값을 하드 코딩하십시오. char c = '\uFFFF';
은 내 코드에서 사용할 수 없습니다.
Character and Byte Streams 및 예제 프로그램 StreamConverter.java을 살펴볼 수 있습니다. "\ u65e5 \ u672c \ u8a9e \ u6587 \ u5b57 \ u5217"스트림을 내 항목 (예 : "\ u005a")으로 바꾸면 콘솔 및 GUI에 모두 문자 Z가 표시됩니다.
또한 프로그램과 stringConverter.java을 확인하십시오. 여기에서 각각의 6 요소 정수 문자열은 UTF 문자로 대체됩니다.
하지만 왜 코드가 작동하지만 내 것은 아닙니까?!
기존 질문을 참조하는 새 질문을 게시하고 기존 질문에 대한 대답으로 문제가 해결되지 않는 이유를 간단히 설명하십시오. – dpr
* 왜 *는 "String ori"가 그런 식으로 형성 되었습니까? 귀하의 요구 사항은 무엇입니까? '\ unnnn'은 런타임이 아닌 컴파일러의 표기법입니다. 런타임시 16 진수가 아닌 실제 문자 코드를 갖게됩니다. – EJP
임의의 코드를 사용할 때마다 매번 변수 i는 새로운 n을 생성하므로 유니 코드 값의 새 문자열을 만듭니다. 그래서 문자열을 유니 코드 문자로 변환해야합니다. "\ u0056"과 "0x0056"과 같은 두 가지 형식을 형성 할 수 있지만 그 이상은 없습니다! – Rajibando