11 dicembre, 2019

Listare codici Unicode


Un post veloce-veloce di quelli che interessano (probabilmente) solo il mio amico Edo (posso dirlo vero?). Oltre che me, ovviamente.

I caratteri Unicode sono tantissimissimi, i codici sembrano (possono sembrare) arbitrari ma le sequenze (forse) no e allora...

Intanto se vedo un carattere che mi piace e che vorrei usare (qualcuno ha detto emoji?) voglio trovare il codice corrispondente; e avendo il codice visualizzare il carattere. Si può fare, con Python per esempio, o con il proprio linguaggio preferito (che è Python per noi). Ecco _u

#!/usr/bin/python3

from sys import argv
from os import system

if len(argv) == 1:
    print('ARRGGGGHH!')
    exit(2)

st = argv[1]

if st.isnumeric() or st[:2].upper() == '0X':
    st = chr(int(st, 0))
else:
    ch = ord(st[0])
    st = f'{ch:d} {ch:#x}'

cmd = 'echo -n ' + st + ' | xclip -f -selection clipboard'
system(cmd)
print()


Ed ecco:

$ py3 _u 955
λ
$ py3 _u 0x3bb
λ
$ py3 _u λ
955 0x3bb
$


OK; autoevidente vero? L'unica nota riguarda xclip che inserisce l'output nella clipboard.

Adesso avendo il codice posso visualizzare una sequenza, diciamo 20 caratteri, per volta, ecco _r

#!/usr/bin/python3

from sys import argv

if len(argv) == 1:
    print('ARRGGGGHH!')
    exit(2)

p = int(argv[1], 0)
for c in range(20):
    print(f'{c+p:d} {c+p:#x} {chr(c+p)}')

   
E ottengo:

$ py3 _r 945
945 0x3b1 α
946 0x3b2 β
947 0x3b3 γ
948 0x3b4 δ
949 0x3b5 ε
950 0x3b6 ζ
951 0x3b7 η
952 0x3b8 θ
953 0x3b9 ι
954 0x3ba κ
955 0x3bb λ
956 0x3bc μ
957 0x3bd ν
958 0x3be ξ
959 0x3bf ο
960 0x3c0 π
961 0x3c1 ρ
962 0x3c2 ς
963 0x3c3 σ
964 0x3c4 τ
$

o anche

$ py3 _r 128294
128294 0x1f526 🔦
128295 0x1f527 🔧
128296 0x1f528 🔨
128297 0x1f529 🔩
128298 0x1f52a 🔪
128299 0x1f52b 🔫
128300 0x1f52c 🔬
128301 0x1f52d 🔭
128302 0x1f52e 🔮
128303 0x1f52f 🔯
128304 0x1f530 🔰
128305 0x1f531 🔱
128306 0x1f532 🔲
128307 0x1f533 🔳
128308 0x1f534 🔴
128309 0x1f535 🔵
128310 0x1f536 🔶
128311 0x1f537 🔷
128312 0x1f538 🔸
128313 0x1f539 🔹
$


Ah! sì, faccio spesso uso di alias per i comandi troppo lunghi:

$ alias py3
alias py3='python3 -q'
$


🔴🔵

Nessun commento:

Posta un commento