gpt4 book ai didi

delphi - 如何将带重音的Unicode字符串转换为不带重音的ANSI字符串?

转载 作者:行者123 更新时间:2023-12-03 18:25:41 27 4
gpt4 key购买 nike

我发现此WideStringToString() function可以将Unicode字符串转换为ANSI字符串。我需要将类似àèéìòù的字符串转换为aeeiou,因此应删除所有重音符号。我认为可以使用该功能完成操作,但是应该使用哪个代码页?

最佳答案

当前执行此操作的方法是使用System.SysUtils.TEncoding。一个例子:

function RemoveAccents(const Src: string): string;
var
Bytes: TBytes;
begin
Bytes := TEncoding.ASCII.GetBytes(Src);
Result := TEncoding.ASCII.GetString(Bytes);
end;

procedure Test;
begin
Writeln(RemoveAccents('Ŧĥε qùíçķ ƀřǭŵņ fôx ǰűmpεď ōvêŗ ţħě łáƶÿ ďơǥ'));
Writeln(RemoveAccents('àèéìòù'));
end;


由于某些未知原因,这无法转换epsilon(ε),因此输出为:

Th? quick brown fox jump?d over the lazy dog
aeeiou

关于delphi - 如何将带重音的Unicode字符串转换为不带重音的ANSI字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54842663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com