대소 문자를 구분하지 않는 UTF-8 문자열 비교를위한 여러 가지 전략을 평가하려고합니다.언어를 알지 못하는 대문자 UTF-8
유니 코드 컨소시엄에서 ICU로 실험 한 몇 가지 자료를 읽고 다양한 구현 품질 대안을 제시하려고했습니다.
여러 경우에 단순 사례 매핑과 전체 사례 매핑간에 텍스트가 다른 것을 보았습니다. 그 차이점을 완전히 이해하고 싶었습니다.
내가 읽었을 때 Simple Case Mapping은 "컨텍스트 프리"즉, 페이로드가 어떤 언어인지 알 필요가 없습니다. 이것은 Turkic "I/ı/İ/i"사태로 인해 대략적인 결과를 제공합니다.
전체 사례 매핑은 매핑을 수행 할 수 있도록 페이로드의 언어를 알아야합니다. 그 추가 정보를 통해 투르크 문자열의 "김"은 대문자 "KIM"가되어야하고 영문 문자열의 "김"은 대문자의 "김"이되어야한다.
내가 맞습니까?
다른 언어로 다르게 표시되는 "다중면"코드 포인트의 다른 예가 있습니까?
감사합니다.
업데이트 : 언어 독립으로 간단한 대소 문자 매핑을 언급하는 출처 중 하나는 ICU's documentation입니다. 나는 이것을 유니 코드 진리로 해석하지만 구현의 진술 일뿐일까요?
그래서 둘 다 언어 문맥이 필요합니다. 맞습니까? 나는 CaseFolding.txt를 사용하지 않는 제 3 자 라이브러리 (PCRE)를 사용하지만 UnicodeData.txt의 사례 정보 만 사용하며 언어 내용 (명시 적 으로든 암묵적 으로든 내가 말할 수있는 한)을 요구하지 않습니다. 나는 이것이 Simple case에서 타당한 타협이라고 생각했다. –
물론입니다. 파일에 명시된 바와 같이, "T"상태 코드로 레코드를 무시할시기를 알아야합니다. –
내가 알 수있는 한 T 상태 코드는 CaseFolding에 나타납니다.txt이며 UnicodeData.txt가 아닙니다. 하지만 언어 컨텍스트에 대한 지식으로 만 접을 수 있다는 것을 정말로 말하고 있습니까? 나는 컨텍스트가 필요없는 타협을 찾고 있는데, 100 % 완벽하지는 않습니다.하지만 어쩌면 이것이 따뜻함의 첫 걸음일까요? –