Ich wüsste auch nicht, warum Götterdämmerung
eine Dekompositation ergeben sollte, vor allem nicht, da ö und ä das Selbe wären.
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
A, B, C, D:
string;
begin
A := '
xö';
B := '
xo'#$0308;
// o mit compose-¨
C := '
xo'#$00A8;
// o mit ¨
if A = B
then
ShowMessage('
aa');
// nö
if AnsiSameStr(A, B)
then // CompareString mit LOCALE_USER_DEFAULT
ShowMessage('
bb');
// jo
if AnsiSameStr(A, C)
then
ShowMessage('
cc');
// nö
if StrStr(PChar(A), PChar(B)) <>
nil then // PChar-Variante des Pos
ShowMessage('
dd');
// jo
SetLength(D, 5);
SetLength(D, NormalizeString(NormalizationC, PChar(B), 4, PChar(D), 5) - 1);
if A = D
then
ShowMessage('
ee' + sLineBreak + A.Length.ToString + '
' + B.Length.ToString + '
' + D.Length.ToString + '
');
// jo
end;
CompareString oder
CompareStringEx,
im Gegensatz zu
CompareStringOrdinal.
StrStr
FindNLSString
FindNLSStringEx
NormalizeString
FoldString
MAP_PRECOMPOSED = $20; { convert to precomposed chars }
MAP_COMPOSITE = $40; { convert to composite chars }
WideCharToMultiByte
WC_COMPOSITECHECK = $200; { convert composite to precomposed }
MultiByteToWideChar
MB_PRECOMPOSED = 1; { use precomposed chars }
MB_COMPOSITE = 2; { use composite chars }