수많은 유니 코드 문자에서 두 개의 'f'문자에 대한 U + FB00 합자 ff와 같이 실제로 두 개 이상의 문자를 나타내는 문자가 있습니다. 이러한 문자를 여러 개의 단일 문자로 쉽게 변환 할 수 있습니까? 표준 Java API에서 사용할 수있는 것이 좋지만 필요한 경우 외부 라이브러리를 참조 할 수 있습니다.유니 코드 합자 문자 분리
답변
U + FB00은 호환성 문자입니다. 일반적으로 유니 코드는 합자에 대한 별도의 코드 포인트를 지원하지 않습니다 (합자를 사용해야하는 경우와 레이아웃을 결정할 때 데이터가 저장되는 방식에 영향을주지 않아야한다고 주장합니다). A 중 일부는 아직까지 do이 별도의 엔터티로 합자를 나타내는 이전 인코딩과의 왕복 변환 호환성을 허용하기 위해 존재합니다.
운 좋게도, 합자가 을 나타내는 정보는 Unicode data file에 존재하는이고, 대부분의 가능한 문자열 처리 시스템에는 데이터가 내장되어 있습니다. 자바에서
, 당신은 the Normalizer
class를 사용해야합니다 및 NFKC
형태 :
String ff ="\uFB00";
String normalized = Normalizer.normalize(ff, Form.NFKC);
System.out.println(ff + " = " + normalized);
이
ff = ff
굉장! 감사! – nonoitall
@nonoitall : NFKD는 아무런 만능병이 아닙니다 : 많은 합자 및 다른 개념으로 결합 된 양식이 있습니다 ** 전혀 작동하지 않습니다 ** 예를 들어, * ß * 또는 * ẞ *를 * SS * (심지어 거기에 casefold thither!), * * * * AE * 또는 * A * * 또는 * OE * 또는 * - * oe * * * * * ae *. 또한 * * 또는 * đ *를 * d * 또는 * ø *로 * o *로 바꾸는 것은 쓸모가 없습니다. ** 모든 ** ** 해당 사항에 대해 UCA (Unicode Collation Algorithm)가 필요합니다 ** ** NFKD가 아닙니다. NFD/NFKD는 또한 싱글 톤을 파괴하는 성가신 속성을 가지고 있습니다. – tchrist
@ tchrist : 제 이해는 여러분이 언급 한 분해가 수행되어서는 안된다는 것입니다. 인쇄상의 의미에서 단순히 합자가 아니라 다르게 사용되는 실제 분리 된 문자입니다. ß *는 필요할 경우 (예 : ASCII 만 저장할 수있는 경우) ss로 분해 될 수 있지만 ** 같은 것은 아닙니다 **. 반면에 ff 리 거의 쳐는 타이포 그래픽 합자입니다. –
java.text.Normalizer을 시도해 볼 수는 있지만 합자에 해당하는지 잘 모르겠습니다.
이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품목 게시물/18866472) – pirho
당신이 정상화라고 얘기하고에 지정된 절차를 인쇄합니다 Unicode Normalization Forms 기술 노트.
java.text.Normalizer
이라는 Java SE 클래스 라이브러리에이 프로세스를 구현하는 클래스가 있습니다. 그러나 위에 링크 된 유니 코드 문서를 읽고 원하는 결과를 얻기 위해 사용해야하는 "정규화 양식"을 찾아야합니다. 그것은 간단하지 않습니다 ....
- 1. Clojure/Java에서 유니 코드 텍스트 합자 검색
- 2. 유니 코드 문자 표시
- 3. 유니 코드 문자 '\ uDA22'
- 4. Base64ing 유니 코드 문자
- 5. 유니 코드 미러 문자?
- 6. 데이터베이스 유니 코드 문자
- 7. 유니 코드 대체 문자
- 8. 문자열의 유니 코드 문자 - iphone
- 9. iPhone에서 유니 코드 문자 그리기
- 10. VB.NET에서 유니 코드 문자 표시
- 11. C# 유니 코드 (일본어 문자)
- 12. JavaScript : 유니 코드 공백 문자
- 13. Ajax로 유니 코드 문자 게시
- 14. 유니 코드 문자 모양을 렌더링
- 15. URL 유니 코드 문자 인코딩
- 16. OStream에 유니 코드 문자 쓰기
- 17. lxml 유니 코드 문자 변경
- 18. PHP ImageMagic 유니 코드 문자
- 19. 유니 코드 대소 문자 변환
- 20. 코어 그래픽의 유니 코드 문자
- 21. Junit에서 유니 코드 문자 비교하기
- 22. 의 HttpWebRequest를 유니 코드 문자
- 23. PHP-GD : 유니 코드 문자 다루기
- 24. IIS 6.0 서버 및 유니 코드 문자
- 25. PUZZLE PIECE 용 유니 코드 문자?
- 26. TCP를 통한 유니 코드 문자 수신
- 27. 중국어 문자가있는 유니 코드 문자 문제
- 28. 문자열의 유니 코드 문자 정규 표현식
- 29. MySQL 데이터베이스의 유니 코드 문자 수를 계산합니다.
- 30. MySql 및 Oracle의 유니 코드 문자 저장
나는 키워드 * 합자 *를 귀하의 질문에 추가 할 자유를했습니다. :) – deceze
감사합니다 - 나는 그들이 무엇이라고 불렀는지 잘 몰랐다. :-) – nonoitall
기본 단위에 대한 제자가 아니십니까? –