Page 1 sur 1

FoldString et unicode

Publié : ven. 06/nov./2009 20:25
par nico
FoldString sert à décomposer un caractère composé de deux touches en deux caratères, par exemple â = a et ^
Le problème avec le code suivant en compilant sous unicode, c'est que:
Result est bien égal à a^ mais je n'obtient pas les codes ascii voulu qui sont 94 pour a et 97 pour ^
alors qu'en compilant sous ascii ça marche.

J'obtient 94 et 770 mais quand je fais un debug Result j'obtient bien a^ comment c'est possible?

Code : Tout sélectionner

;Compiler avec l'option Unicode

test.s="â"

result.s=Space(SizeOf(character)*2)

Debug FoldString_(#MAP_COMPOSITE,@test, 1, @result, 2)

Debug Result ;="a^" ,a=97 , ^=94

Debug PeekC(@Result) ;=97
Debug PeekC(@Result+SizeOf(character)) ;=770? au lieu de 94

Re: FoldString et unicode

Publié : ven. 06/nov./2009 21:06
par nico
770 et 94 renvoie ^, j'y comprend rien :roll:

Code : Tout sélectionner

Result2.w=770
Debug PeekS(@Result2,1,#PB_Unicode)

Result2.w=94
Debug PeekS(@Result2,1,#PB_Unicode)

Re: FoldString et unicode

Publié : ven. 06/nov./2009 23:23
par PAPIPP
Bonjour nico
En unicode les caractères diacritiques combinants vont de 768 à 879 en décimal ou $300 à $36F en Hex
Voir la table des caractères unicode :
http://fr.wikipedia.org/wiki/Table_des_ ... 00-0FFF%29

A+