FoldString et unicode

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

FoldString et unicode

Message 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
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: FoldString et unicode

Message 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)
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: FoldString et unicode

Message 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+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Répondre