PeekANSI() - Lire de l'ASCII accentué en Unicode

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par JohnJohnsonSHERMAN »

@Zorro : utilisateurs de PB sous XP : il y a moi :P Même si je suis 80% du temps sur mon pc Win 10, les 20 autres pourcents je suis sur celui qui a XP, et je fais avec (même si c'est clairement de la merde). Si je pouvais le mettre a jour je le ferais, mais voila, il se peut que certains utilisateurs utilisent XP par défaut d'autre chose. Aprés quand a le faire VOLONTAIREMENT... la c'est.... disons moins normal :mrgreen:
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par Zorro »

oui, je sais bien , normalement j'ai moi meme un NC10 (Netbook) et une tour qui sont sous XP ...
mais comme tu le dis, je ne code pas spécialement pour ces machines , je code pour la machine que j'utilise le plus
(MSI GT780 DXR sous Seven ) et bientot pour ma futur bécane , un MSI GT72VR 6RD-061FR Dominator Pro Tobii
http://www.ldlc.com/fiche/PB00213726.html
bref, faut vivre avec son temps , comprends, que je ne denigre pas les anciens systemes
mais en matiere de programmation , on se dois d'etre a la page, et la reference c'est bien les dernieres évolution
du langage (UNICODE ONLY ) et des systemes (SEVEN,HEIGHT,TEN)
même si comme beaucoup ici , j'ai une petite pensée affective vis a vis de XP , il faut tourner la page, c'est ainsi

j'ai été l'un des premiers a dire a Fred que le passage a l'unicode allait poser des problèmes pour beaucoup
mais au finale, je me range a son idée , l'unicode, c'est juste un codage de caracteres , du moment qu'on peut encore afficher des caracteres , moi apres tout, je m'en fiche :)

apres, si quelqu'un veux se lancer dans un émulateur Minitel , ou Atari , il suffit de suivre les conseilles de Mesa , charger une fonte dédié, puis voila :)

ça fait un bon moment qu'on peut coder en unicode sous Purebasic , il suffit de cocher la case qui va bien (ou pas )

vouloir absolument avoir des caracteres Ansi sous unicode, j'en vois franchement pas l'interet
mais bon , microsoft a prevu le coup avec l'api ...
sinon ben il suffit de compiler en unicode ou pas ...
tout ce topic est quand meme interessant , puisqu'il fait ressortir l'utilisation des fontes et leur tables de caractères associées :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par JohnJohnsonSHERMAN »

Encore une fois 100% d'accord vieux renard :mrgreen:
C'est sur que l'Unicode est un passage obligé, d'ailleurs pour ceux qui vénérent l'ASCII, l'Unicode est compatible ASCII en UTF-8 (puisqu'il reprend les 128 caractéres ASCII, sur un octet.
XP c'est une vielle histoire... c'es le premier ordi que j'aie eu... et que je n'hésiterais pas a sacrifier pour un petit Win 7 (le seul Windows que je n'aie jamais possédé, et pourtant le meilleur). Bref c'est un peu comme les cuirassés : c'est cool, ca a une histoire, mais c'est obsoléte (enfin je préfére quand même les cuirassés USS Iowa à XP...).

Au moins ce sujet nous apprend quelquechose : la valeur de l'Unicode ! Vu tout ce qu'il a fallu comme débats sur ce viel ASCII étendu (on ne dit pas ANSI), vive l'Unicode, y'en a assez pour tout le monde et c'est standardisé, et en plus compatible ASCII.

Bref le monde change et nous avec (enfin vous les vieux surtout parce que moi le monde n'a pas trop eu le temps de changer.... enfin un peu quand même :mrgreen: )
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par Ollivier »

Moi, je dis "ANSI" parceque "ASCII" fait une lettre de plus, soit 25% d'énergie supplémentaire pour taper le terme.

Aussi, plus sérieusement, cette norme (437) fut la première à être démocratisée mondialement à échelle industrielle : on la retrouve en ROM dans un nombre énorme d'appareils. C'était le but de l'ANSI.

Enfin, moins sérieusement, si la fonction PeekANSI ne fonctionne pas dans le code de Zorro, c'est que cette fonction est trop puissante pour être placée dans le code source faiblard de Zorro!

Si j'ai une conclusion à donner, c'est d'y ajouter une directive pour pouvoir la faire fonctionner sous XP et annuler son fonctionnement sous les OS Windows plus récents.
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par Ollivier »

falsam a écrit :
...marche nickel
Je ne vois pas trop ce qui marche niquel. 133 en Unicode ne correspond pas à un 'à'

http://unicode-table.com/en/#0133

Code : Tout sélectionner

Debug Chr($0133)
donne bien "ij"
Quand tu confonds la base hexadécimale avec la base décimale, je n'y peux rien.

133, de tête c'est 128 + 5
donc, $80 + 5
donc 133 = $85

donc 133 est formellement différent de $0133. J'imagine très mal l'équipe qui a convenu Unicode de se taper un trip en utilisant la conversion de base 10 vers la base 16 pour disséminer des caractères au gré de la fonction mathématique de conversion de base, fonction qui n'a absolument rien à voir avec les convenances thématiques.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par falsam »

Rhooo le déterrage de commentaire datant de 2 ans :mrgreen:
Ollivier a écrit :Quand tu confonds la base hexadécimale avec la base décimale, je n'y peux rien.
Héhéhé. Download une version de PB plus récente que celui que tu utilises et tu pourras aborder l'unicode durant ces longues soirées d'hiver à venir.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par Ollivier »

Et maintenant tu confonds mathématiques et consigne complètement hors sujet.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par falsam »

Tu déterres un sujet datant de deux ans et tu as eu la réponse que tu méritais. Dans d'autres forums, le sujet aurait été clos et les commentaires superflus et stériles supprimés.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par falsam »

Allez je taquine encore un peu
Ollivier a écrit :133, de tête c'est 128 + 5
Whaouuuu Applause :)

Image

La foule se lève en délire
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
zaphod_b
Messages : 76
Inscription : mar. 09/déc./2014 20:02

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par zaphod_b »

Quelqu'un peut m'expliquer pourquoi : à = 133
Dans la table ascii de l'aide de pb c'est 224

Code : Tout sélectionner

DataSection
   ici:
 !db 65,224,133
 EndDataSection
; 
 Debug PeekS(?ici,3,#PB_Ascii)
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par falsam »

Haaaaa merci zaphod_b !!!!

Je pensais que j'étais le seul à me poser cette question suite au code d'Ollivier que je redonne ici

Code : Tout sélectionner

DataSection
ICI:
Data.A 133 ; Caractère 'à'
EndDataSection
debug PeekANSI(?ICI, 1)
Source : https://www.purebasic.fr/french/viewtop ... 13#p186313
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: PeekANSI() - Lire de l'ASCII accentué en Unicode

Message par Ollivier »

Zaphod_b a écrit :Quelqu'un peut m'expliquer pourquoi : à = 133
Dans la table ascii de l'aide de pb c'est 224
mesa a écrit :Si vous voulez être certain d'utiliser tous les caractères ascii comme au bon vieux temps alors il faut utiliser mon code mais si vous ne voulez récupérer que les caractères accentués alors le code de zorro suffit.
C'est une question de compatibilité avec d'anciennes bécanes industrielles.

On peut résumer l'histoire de l'ASCII à un arbre de type "mangrove" : ça commence simple (page 850), ça se complique (page 437 pour l'ex-CEE puis une myriade de pages pour chaque région du monde), puis ça se simplifie à nouveau (page 1252, la page ASCII de PB) avant de passer la main à l'Unicode qui ne suivra pas un tel chemin avant un paquet de temps, vu qu'elle est 250 fois plus grosse. En une page Unicode, on condense toute l'histoire de l'ASCII.
Répondre