
Java의 Transliterator 클래스는 ICU(International Components for Unicode) 라이브러리를 사용하여 문자열을 다른 언어로 변환하는 기능을 제공합니다.
Transliterator::transliterate 함수가 지원하는 언어 목록은 ICU 라이브러리의 언어 데이터에 따라 동적으로 결정됩니다. 하지만, 일부 일반적인 언어 변환은 다음과 같습니다.
- 한글을 영어로 변환하는 경우, 'Any-Latin' 또는 'Latin-ASCII' 변환을 사용할 수 있습니다. 예를 들어, 'Any-Latin' 변환을 사용하여 한글을 영어로 변환하는 코드는 다음과 같습니다.
#hostingforum.kr
java
import java.text.Normalizer;
import java.text.Normalizer.Form;
public class Main {
public static void main(String[] args) {
String input = "Hello, 한글!";
String output = Normalizer.normalize(input, Form.NFD);
output = output.replaceAll("[^\p{ASCII}]", "");
System.out.println(output);
}
}
- 한글을 다른 언어로 변환하는 경우, ICU 라이브러리의 언어 데이터에 따라 동적으로 변환할 수 있습니다. 예를 들어, 한글을 중국어로 변환하는 경우, 'Any-Latin' 변환 후 'Chinese-Simplified' 또는 'Chinese-Traditional' 변환을 사용할 수 있습니다.
#hostingforum.kr
java
import java.text.Normalizer;
import java.text.Normalizer.Form;
public class Main {
public static void main(String[] args) {
String input = "Hello, 한글!";
String output = Normalizer.normalize(input, Form.NFD);
output = output.replaceAll("[^\p{ASCII}]", "");
output = Normalizer.normalize(output, Form.NFKD);
output = output.replaceAll("[^\p{Han}]", "");
System.out.println(output);
}
}
이 코드는 한글을 중국어로 변환하는 예시입니다. 하지만, 실제로 변환하는 언어와 변환 방법은 ICU 라이브러리의 언어 데이터에 따라 동적으로 결정됩니다.
2025-08-06 16:53