iconv
utf-8 문자열을 일반 ASCII 문자열로 "변환"하는 명령을 사용하여 문자를 가장 가까운 ASCII 문자로 바꿀 수 있습니다. 그러나 내 문제는 포함할 결과 문자열이 필요하다는 것입니다.정확히 같은 문자 수(코드 포인트)를 소스 문자열로 사용합니다. 예를 들어 파운드( £
) 문자는 3자리 문자( ) 또는 2자리 문자로 대체됩니다 GBP
. 대신에 이 문자를 다음으로 바꾸고 싶습니다.æ
ae
하나의문자(예: L
또는 ?
또는 a
또는 e
). 어떤 방법/옵션이 있나요?
개요
나는 라틴어 기반 텍스트에 대한 "ASCII 기반" 조회 루틴을 개발하려고 합니다. 예를 들어, 위치 3은 5( 1자가 아닌 3자로 확장되기 find 'uco' in '£Húçôz'
때문에) 대신 반환되어야 합니다(첫 번째 위치인 1부터 계산하기 시작함 ). £
제가 개발하려는 것은 훨씬 더 복잡합니다. 여기서는 문제를 최대한 단순화하려고 합니다.
또한 이것을 참고하세요찾다ASCII가 아닌 라틴어 기반 텍스트 문자열을 일치시킬 때 루틴이 완벽할 필요는 없지만 일치 항목(있는 경우)의 (첫 번째) 위치는 올바른 문자(코드 포인트) 위치를 가리켜야 합니다.