Page 1 sur 1
caractère chinois
Publié : sam. 09/juil./2016 19:56
par YvesRossignol
Bonjour, je code comme je peux mais j'ai fais des exemple d'encryption avec des exemples pris sur ce site. Le seul problème c'est que je reçois une série de caractère "chinois" comme résultat....
pourquoi...
Merci

Re: caractère chinois
Publié : sam. 09/juil./2016 20:12
par Zorro
parceque si tu utilises la version 5.50 de Purebasic
tu es en Unicod par defaut !
et le rendu d'un text Ascii en unicod retourne du chinois....
il existe des moyens avec la V 5.50 pour retablir la situation
Re: caractère chinois
Publié : sam. 09/juil./2016 22:53
par YvesRossignol
Bonjour, j'ai 400 heures de développement du code que je fais... je suis en 5.42 j'hésite à changer car je suis presque à la fin...
est-ce qu'on peut changer uniquement ce qui est dans le fichier de sortie....
merci en passant
Re: caractère chinois
Publié : dim. 10/juil./2016 6:16
par Zorro
YvesRossignol a écrit :Bonjour, j'ai 400 heures de développement du code que je fais... je suis en 5.42 j'hésite à changer car je suis presque à la fin...
est-ce qu'on peut changer uniquement ce qui est dans le fichier de sortie....
merci en passant
comme tu ne donnes pas grands chose comme précision, franchement, je ne peut pas vraiment te répondre ...
de quel prg il s'agit ? dans quelle circonstance tu te retrouve avec du chinois ? ," tu compiles en unicod ? etc ....
venir poser ton probleme sans donner de précision, ne sert pas a grand chose en fait ....
je peux lancer des hypotheses ...
je vais supposer que tu compiles en mode Unicod (le plus probable )
si t'a "sortie" est un fichier regarde les fonctions PureBasic concernant la lecture, l'ecriture : (ReadString() WriteString() , OpenFile()
etc .. ont tous un paramètre concernant l'unicode , l'UTF8 <-- que je conseille pour la compatibilité avec l'ascii )
mais bon sans plus d'info, je ne pense pas que quelqu'un puisse t'aider ...
Re: caractère chinois
Publié : dim. 10/juil./2016 18:16
par YvesRossignol
merci pour les informations
Re: caractère chinois
Publié : dim. 10/juil./2016 18:27
par YvesRossignol
Effectivement je compilais en unicode.
voici la partie de code que j'ai pris sur le forum et compléter.
Code : Tout sélectionner
; Crypter une chaîne de caractères
;
String$ = test$
StringMemorySize = StringByteLength(String$) + SizeOf(Character)
*CipheredString = AllocateMemory(StringMemorySize)
*DecipheredString = AllocateMemory(StringMemorySize)
If AESEncoder(@String$, *CipheredString, StringByteLength(String$), ?Key, 256, ?InitializationVector)
dummy1$ = PeekS(*CipheredString)
AESDecoder(*CipheredString, *DecipheredString, StringByteLength(String$), ?Key, 256, ?InitializationVector)
dummy2$ = PeekS(*DecipheredString)
EndIf
String$ = sky$
StringMemorySize = StringByteLength(String$) + SizeOf(Character)
*CipheredString = AllocateMemory(StringMemorySize)
*DecipheredString = AllocateMemory(StringMemorySize)
If AESEncoder(@String$, *CipheredString, StringByteLength(String$), ?Key, 256, ?InitializationVector)
dummy3$ = PeekS(*CipheredString)
AESDecoder(*CipheredString, *DecipheredString, StringByteLength(String$), ?Key, 256, ?InitializationVector)
dummy4$ = PeekS(*DecipheredString)
EndIf
DataSection
Key:
Data.b $06, $a9, $20, $40, $32, $b8, $a4, $5b, $52, $2e, $13, $d5, $34, $11, $01, $06 ; changer la chaine
InitializationVector:
Data.b $3d, $bf, $bf, $42, $91, $9f, $b7, $3a, $b2, $2a, $ca, $80, $2d, $9c, $ac, $41 ; changer la chaine
EndDataSection
nomFich$ = nom$+prenom$
If CreateFile(0, nomFich$+".txt")
WriteStringN(0, "Weld Design")
WriteStringN(0, dummy1$)
WriteStringN(0, dummy3$)
CloseFile(0)
EndIf
Re: caractère chinois
Publié : dim. 10/juil./2016 20:09
par Zorro
et ??
tu as toujours un probleme ?
Re: caractère chinois
Publié : dim. 10/juil./2016 20:28
par YvesRossignol
non mais la chaine a été changé par sécurité.
Merci!
Yves