#1 Le 10/06/2018, à 07: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é
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, à 10:28)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( 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, à 08: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, à 10:26)
Hors ligne
#3 Le 10/06/2018, à 10: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, à 10: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.
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.
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, à 10: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, à 11:29)
Hors ligne
#6 Le 10/06/2018, à 11: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, à 11:19)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( 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, à 14: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, à 14:51)
Debian (xfce) 12
HP LaserJet M1132 MFP
Hors ligne
#8 Le 10/06/2018, à 16: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, à 16:30)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( 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, à 20: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, à 06: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, à 10: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, à 10:40)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( 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