Go Down

Topic: ASCII  (Read 163 times) previous topic - next topic

GuillaumeDeGrenoble

Bonjour à tous,
J'ai besoin d'un petit coup de pouce concernant ces « encodages » de caractères alphanumériques.

Je fait discuter via le serial, un wemos mini et un écran nextion.

Lorsque j'envoie à l'ecran une phrase en String, style « journée pluvieuse »,  l'affichange sur écran est «journÃ@e pluvieuse »

Donc je soupçonne un pb de décodage des caractères spéciaux mais je ne vois pas dans quelle direction rechercher .... et je m'y perd complet...


Le nextion comprend l'ascii,
Le wemos aussi.

Je décode un json et obtient un «  const char* jsonDecod » donc un pointeur en fait ??

Puis je converti le tableau char pointé en string : String phrase = jsonDecod

Et enfin sa part à l'envoie : serial.print (phrase)

Qu'est ce qui peut foirer ??

Si qq'un connaît tuto sur le sujet, hyper preneur!!!








al1fch

#1
Mar 27, 2019, 09:27 pm Last Edit: Mar 27, 2019, 10:19 pm by al1fch
Bonsoir

Quote
Le nextion comprend l'ascii,
Le wemos aussi.
un simple détour vers le web montre en quoi consiste le code ASCII, quels caratères sont pris en charge..... pas    de lettres accentuées en ASCII 'pur' , voir Wikipedia

les codes au delà de 127 ou  'ASCII étendu' ne sont pas  pris en charge  l'ASCII proprement dit  et ont plusieurs représentations graphiques possibles (cf extensions mono octets, notion de code page....), il ya plusieurs 'extensions' concurrentes  de l'ASCII

Voir ici un exemple parmi d'autres ISO 8859-1 avec son codage particulier de nos lettres accentuées

je n'utilise pas Nextion, il y est peut être possible  de sélectionner le mode de codage 'étendu


Maroko69

Bonsoir,

Pourrais tu mettre ton code dans ton sujet ?

Pour moi le plus simple est de mettre tes données dans un tableau et de les passer en Hexadécimal, tu envoies ton tableau sur le port série (donc tes caractères spéciaux ne "le seront plus") ensuite tu les décodes de l'autre côté.

Je ne peux pas être plus précis il me manque des informations.
J'espère que cela t'auras aiguillé.

Cordialement,
Un jeune électronicien

kamill

Bonjour,

Ton texte est sans doute codé en utf8.
Je n'ai pas trouvé de moyen de faire digérer l'utf8 par le Nextion.
Je convertit l'utf8 en ansi (code page 1252) avant de l'envoyer avec ce programme.

GuillaumeDeGrenoble

@Kamill
Bien vu l'utf8!!
Merci pour le code tip top!



Merci à vs trois !!

GuillaumeDeGrenoble

Par contre g une lacune concernant le fonctionnement du code,
Les fonctions appellées ont le même nom, et c'est seulement «  l'entete » qui change : Void, Byte ou String

Comment le programme choisi la fonction? suivant le type de variable?

kamill

C'est suivant le type de l'argument passé à la fonction.

Go Up