[R] Chaînes en UTF-16 sous AutoIt v3.3.0 XP
Posté : lun. 30 mars 2009 23:35
Bien le bonsoir,
Ma question peut étonner, mais j'ai un gros doute sur la gestion des chaînes UTF-8 et surtout UTF-16 (-le en l'occurence) sous AutoIt.
Ainsi StringLen renvoie la longueur en _octets_ d'une chaîne UTF-8 au lieu de sa longueur en _caractères_.
Mais ce qui me surprend le plus, c'est le résultat de la conversion en UTF-16 d'une chaîne ANSI ou UTF-8. Le contenu de la structure (et pourquoi n'emploie-t-on pas un type wstr ?) renvoyée par _WinAPI_MultiByteToWideChar est une chaîne ASCII contenant la représentation hexa de la chaîne UTF-16 souhaitée (e.g. "0xE900C7000000"). De même, StringLen renvoie la longueur en octets de la "chose" ci-dessus...
Je peux poster un bout de code pour démontrer ceci.
Quelle est donc la sémantique UTF-* d'AutoIt ?
Ma question peut étonner, mais j'ai un gros doute sur la gestion des chaînes UTF-8 et surtout UTF-16 (-le en l'occurence) sous AutoIt.
Ainsi StringLen renvoie la longueur en _octets_ d'une chaîne UTF-8 au lieu de sa longueur en _caractères_.
Mais ce qui me surprend le plus, c'est le résultat de la conversion en UTF-16 d'une chaîne ANSI ou UTF-8. Le contenu de la structure (et pourquoi n'emploie-t-on pas un type wstr ?) renvoyée par _WinAPI_MultiByteToWideChar est une chaîne ASCII contenant la représentation hexa de la chaîne UTF-16 souhaitée (e.g. "0xE900C7000000"). De même, StringLen renvoie la longueur en octets de la "chose" ci-dessus...
Je peux poster un bout de code pour démontrer ceci.
Quelle est donc la sémantique UTF-* d'AutoIt ?