概述

概述

我可以使用iconv命令将 utf-8 字符串“转换”为纯 ASCII 字符串,并将字符替换为最接近的 ASCII 字符。但是,我的问题是我需要结果字符串包含完全相同的字符数(代码点)作为源字符串。例如,英镑 ( £) 字符将被替换为三个字符 ( ) 或具有两个字符的GBP字符。相反,我希望这些字符被替换为æae单身的字符(例如,L?ae)。有没有方法/选项?


概述

我正在尝试为基于拉丁语的文本开发“基于 ASCII”的查找例程。例如,find 'uco' in '£Húçôz'应该返回位置 3(我从第一个位置的 1 开始计数)而不是 5(因为£扩展到 3 个字符而不是一个)。请注意,我正在尝试开发的东西要复杂得多;我在这里尝试尽可能简化我的问题。

另请注意,这寻找例程在匹配基于非 ASCII 拉丁语的文本字符串时不需要完美,但匹配的(第一个)位置(如果有)应该指向正确的字符(代码点)位置。

相关内容