Bonjour, savez-vous pourquoi, sur Delphi 2009 :
me retourne "1/1" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var s : UTF8String; begin s := 'é'; ShowMessage(format('%d/%d', [sizeof(s[1]), length(s)]); end;
Plus étonnant :
affiche "1/4" ! Length est censé être compatible UTF8 dans la version 2009, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var s : UTF8String; begin s := 'éé'; ShowMessage(format('%d/%d', [sizeof(s[1]), length(s)]); end;
Questions corollaires :
Comment savoir avec précision la longueur d'une chaine UTF8 et sa taille en octets (pour stockage et manipulation binaire) ?
Merci![]()
Partager