Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/06/2018, à 08:37

ar barzh paour

[Résolu] unicode et éditeur

unicode génère des bizarreries dans pluma et gedit

avec le code suivant , on génére un fichier contenant quelques caractères unicodes
EDIT : j'ai rajouté l'environnement

#! /usr/bin/env python3
# création d'un fichier contenant des caractères utf-8

f=open ("source_utf8-3.txt",'w')

i=1279
while i<2433:
    i+=1    
    if i%64==0:
        f.write("\n"+str(i)+" : ")
    try:
        f.write(chr(i))
    except:
        f.write(" ") 
f.close()

   
l'image d'une partie du fichier généré

1528612216.png


j'ouvre le fichier résultant avec gedit ou pluma

1-
j'avais mis des repères dans l'ordre f.write("\n"+str(i)+" : ")
de la ligne 5 à la ligne 17 , on trouve le repérage sur la droite , inversé
par exemple " : 1472" à droite au lieu de "1472 : " à gauche
                       " : 2240" à droite au lieu de "2240 : " à gauche

2-
en ligne 4 ("1408 : ")
    je positionne mon curseur au début de la ligne et j'appuie sur la flèche droite
    au 25éme appui ,
      le curseur passe en fin de ligne (Lig 4,Col 72)
    au 26éme appui
      le curseur passe en fin de ligne suivante (Lig 5 , Col 1)
et là je boucle Lig 5, Col 1   Lig , Col 72     tant que j'utilise la flèche droite

3- un peu équivalent :
     je clique sur la colonne 24         en bas à droite je vois Lig 4,Col 24
     je clique sur le caractère suivant  en bas à droite je vois Lig 4 Col 70
     il est impossible de cliquer sur les colonnes  25,26 etc 

4- en ligne 5
     je clique sur le premier caractère visible je vois Lig 5, Col 72
     je clic sur la flèche droite j'arrive en Lig 5, Col 1
     
5- en ligne 18 ("2304 :") phénomène inverse de la ligne 4 :
   je me positionne en début de ligne Lig 18, Col 1
   avec la flèche gauche je boucle Lig 17, Col 72      Lig 18, Col 1
     
après coup une explication partielle :il semblerait que ces caractères se lisent de la droite vers la gauche et non de la gauche vers la droite et que l'éditeur de texte suive cette présentation

Dernière modification par ar barzh paour (Le 11/06/2018, à 11:28)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#2 Le 10/06/2018, à 09:58

MicP

Re : [Résolu] unicode et éditeur

Bonjour

Vu le contenu de ton script, je suppose qu'il doit s'agir d'un script python dont la version est inférieure à la version 3 ou supérieure ou égale à la version 3.2
car de la version 3 à la version 3.1.1., la fonction chr() avait été remplacée par la fonction bytes((i,))

Tu donnes à la fonction chr() une valeur décimale supérieure à 255 alors qu'elle attend un octet <=> valeur décimale entre 0 et 255

Un des caractères utf-8 contenus dans le fichier source_utf8-3.txt que ton script a créé
doit correspondre au caractère utf-8 Right-to-left mark (<=> U+200E <=> hexa e2 80 8e)

Dernière modification par MicP (Le 10/06/2018, à 11:26)

Hors ligne

#3 Le 10/06/2018, à 11:00

grigouille

Re : [Résolu] unicode et éditeur

C'est du pyhon3 je pense.
Tu utilises des caratères non valide (i=2241 par exemple) :
http://www.fileformat.info/info/unicode … /index.htm

Il y a aussi potentiellement un mélange d'écriture à gauche et à droite. Sur une même ligne, cela peut être étrange.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#4 Le 10/06/2018, à 11:20

pingouinux

Re : [Résolu] unicode et éditeur

Bonjour,
La fonction chr existe bien en python2 et en python3, même si elle est différente.

python2 : help chr a écrit :

Help on built-in function chr in module __builtin__:

chr(...)
    chr(i) -> character
   
    Return a string of one character with ordinal i; 0 <= i < 256.

python3 : help chr a écrit :

Help on built-in function chr in module builtins:

chr(...)
    chr(i) -> Unicode character
   
    Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.

Les caractères écrits sont dans l'intervalle :

<U0500>     /xd4/x80     CYRILLIC CAPITAL LETTER KOMI DE
<U0981>     /xe0/xa6/x81 BENGALI SIGN CANDRABINDU

Hors ligne

#5 Le 10/06/2018, à 11:23

MicP

Re : [Résolu] unicode et éditeur

Oops !

Je corrige mon message précédent
vu l'extrait suivant que j'ai pu lire ici


New in version 3.2: This function was first removed in Python 3.0 and then brought back in Python 3.2.

Dernière modification par MicP (Le 10/06/2018, à 12:29)

Hors ligne

#6 Le 10/06/2018, à 12:01

ar barzh paour

Re : [Résolu] unicode et éditeur

oui excusez-moi j'ai bien utilisé python pour générer ce fichier ( python 3.5.2)
j'ai ajouté en post 1 une bannière
la ligne 4 (1408 contient  D6 80     à  D6 BF , je vais regarder dans unicode à quoi ça correspond
le passage de la colonne 24 à 70 devrait correspondre à D6 96  D6 97
j'ai l'impression que je suis tombé sur quelque chose que je n'aurais pas du déterrer !!!

Dernière modification par ar barzh paour (Le 10/06/2018, à 12:19)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#7 Le 10/06/2018, à 15:51

grigouille

Re : [Résolu] unicode et éditeur

Fais attention, il y a plein de caractères unicode non valide. Par exemple dans la plage hébreu : 0590— 05FF
https://unicode-table.com/en/#hebrew

Dernière modification par grigouille (Le 10/06/2018, à 15:51)


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#8 Le 10/06/2018, à 17:22

ar barzh paour

Re : [Résolu] unicode et éditeur

@ grigouille :
caractères non valides
normalement ils sont éliminés par le code
try :
      s'il y a une erreur
except:
     écrire espace à la place f.write(" ")

remarque quand j'ai écrit le code du post #1,
je ne savais pas trop ce que j'allais obtenir ...
c'est en parcourant le fichier résultat que j'ai entre-aperçu cette bizarrerie
( au départ j'avais mis de i= 32 à 10000 ......)

Dernière modification par ar barzh paour (Le 10/06/2018, à 17:30)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#9 Le 10/06/2018, à 21:40

grigouille

Re : [Résolu] unicode et éditeur

Que nenni :

>>> chr(2241)
'\u08c1'
>>> print(chr(2241))
ࣁ

C'est à l'affiche que cela se voit : on a droit a un caractère moisi.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#10 Le 11/06/2018, à 07:59

grigouille

Re : [Résolu] unicode et éditeur

Fais attention car tu as des caractères d'accentuation. Par exemple
Unicode Character 'HEBREW PUNCTUATION MAQAF' (U+05BE)
qui va se combiner avec le caractère suivant u+05bf pour ne former qu'un seul caractère.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#11 Le 11/06/2018, à 11:27

ar barzh paour

Re : [Résolu] unicode et éditeur

@grigouille
effectivement certains caractères par exemple 1424 ( \x0590 ) à 1479 ( \x05C7) correspondant à  des ponctuations (ici hébreu) peuvent mettre le souk sur une ligne
et les signes diacritiques aussi

Dernière modification par ar barzh paour (Le 11/06/2018, à 11:40)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne