Bonjour tout le monde !
Voilà, j'aimerais savoir comment découper correctement une chaine chinoise, japonaise, thai...
Je m'explique, dans mon programme j'effectue du découpage de chaine.
Pour cela, j'utilise les fonctions Copy, Pos, Length...
Pour du français, il n'y a aucun problème car 1 caractère = 1 octet.
Pour du chinois, du japonais ou du thai, c'est plus compliqué car 1 caractère peut aller jusqu'à 4 octets.
* Il faut que j'arrive à découper la chaine japonaise correctement, par exemple, pour que le dernier idéogramme soit correct.
Auparavant j'utilisais Delphi 6 et les composants d'affichage ne gère pas l'unicode. De ce faite, j'ai décidé d'utiliser Delphi 2010.
http://dgriessinger.developpez.com/d...i2009-unicode/
Selon vous, comment dois-je faire pour couper une chaine ? en tenant compte de ma contrainte ? Cf. *
Exemple (ici chinois):
Chaine:= 'ㅈㅈㅈㅈ';
Length('ㅈ') égale 2.
Length('ㅈㅈㅈㅈ') égale 8.
Lorsque j'effectuer Copy('ㅈㅈㅈㅈ', 1, 3) je n'obtiens pas : ㅈㅈㅈ
Comment faire ?
Attention, pour le thai je peux avoir des caractères sur 2 octets et d'autres, sur octets.
Partager