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'
$
🔴🔵
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento