Il codice ASCII

ASCII art

Da Wikipedia, l’enciclopedia libera.

    ____   _____ ______________     ____    ____  ______
   / _  | / ___// ____/  _/  _/    / _  |  / __ \/_  __/
  / /_| | \__ \/ /    / / / /     / /_| | / /_/ / / /   
 / ___  | __/ / /___ / / / /     / ___  |/ / / / / /
/_/   |_//___/\____/___/___/    /_/   |_/_/ |_| /_/

"Oldskool" o "Amiga" style

                          o$ $o
.o$$$$o. .o$$$$o .s$$$$$o.' `".o$$$$$o..o$$$$$o.o$$$$$o.
  .o  `$.$$'   . o$   $"'.o $$   .o  `$. .o  `$$  $$
.o$$.o$$$`"$$$o. $$   .  $$ $$ .o$$.o$$$ $$"o$"   $$
  $$   $$    `$$ $$.  $o.$$ $$   $$   $$ $$  $$.  $$
  $'   $'.o$$$$' `$$$$$$o.' $$   $'   $' $$  $$$" `$
                      $'    $'               $"
"Newskool" style

         ▄             ▄█▄ █▄       ▄
     ▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀    ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
    ██  ██ ▀██▄▄ ▄█  ▀ ░▒ ░▒   ██  ██ ▄█▄ █▀ ██
    █▓▄▀██  ▄ ▀█▌▓█    ▒▓ ▒▓   █▓▄▀██ ▓█ ▀▄  █▓
    █▒  █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█   █▒  █▓ ▒█  ▓█▄ ▒
        ▀▒           ▀  ▀ █▀       ▀▒  ▀  █▀  ░
"Block" o "High ASCII" style

L’Arte ASCII è un mezzo artistico che si basa principalmente sui computer come supporto di presentazione; consiste di immagini prodotte componendo i 95 caratteri ASCII. In maniera leggermente impropria, il termine viene anche usato per indicare altre forme artistiche basate sull’uso di caratteri tipografici in generale. Immagini d’arte ASCII possono essere create con ogni editor di testo, e sono talvolta usate in combinazione con i linguaggi di programmazione per produrre programmi per computer il cui testo forma un disegno o una immagine. La maggior parte degli esempi di arte ASCII richiedono, per una corretta visualizzazione, l’uso di caratteri a larghezza fissa (come quelli di una tradizionale macchina per scrivere), come ad esempio il Courier.

Il termine “PC Block ASCII” o “High ASCII” indica una variante di arte ASCII in cui si fa uso di caratteri con codici a 8 bit (la cosiddetta code page 437 o ANSI X3.16, uno standard proprietario introdotto da IBM nel 1979 per il PC IBM). Questa variante consente di sfruttare circa 100 caratteri in più, ed è stata molto in voga negli anni intorno al 1990 e fino a che la diffusione di Internet e del World Wide Web (che supportava nativamente la grafica) ha soppiantato i BBS testuali come principale mezzo di comunicazione fra appassionati di computer.

Microsoft Windows non supporta l’ANSI Standard x3.16. Per visualizzare disegni in “PC Block ASCII” con questo sistema operativo occorre usare un editor di testi che supporti il font “Terminal”, oppure un programma specifico come ACiDView for Windows.

Durante gli anni novanta, l’uso di “High ASCII” era la norma; l’unico altro stile diffuso in questo periodo, che usava soltanto i caratteri ASCII a 7 bit, è detto “Oldskool” (vecchia scuola) o “AMIGA style” (stile AMIGA), per via della sua origine e frequente utilizzazione sui computer Commodore Amiga. Lo stile “Oldskool” usa principalmente i caratteri

_/\-+=.()<>:.;

; i disegni realizzati con questo stile ricordano più un disegno dei contorni che un’immagine reale.

L’arte ASCII ha avuto origine dalle scarse possibilità grafiche della prima generazione di stampanti: mancando la capacità di stampare immagini, si ricorreva all’uso di caratteri alfabetici come segni grafici. Sempre su queste stampanti, era comune inserire all’inizio di ogni stampa una pagina speciale, detta “banner”, contenente il nome dell’utente autore della stampa in grandi caratteri realizzati come arte ASCII. Queste pagine consentivano poi all’operatore di distinguere e separare facilmente le stampe di diversi utenti.

L’arte ASCII è tuttora usata in tutti quei casi in cui è possibile stampare o trasmettere testo ma non grafica, o in cui l’uso della grafica sarebbe eccessivamente complicato o oneroso. Ricadono in questa categoria le macchine per scrivere, le telescriventi, i terminali non-grafici di computer, forme primitive di comunicazione via rete quali i BBS, la posta elettronica, le news Usenet. L’arte ASCII è anche usata talvolta all’interno del codice sorgente di programmi per computer, per rappresentare dei logo di prodotti o società, o per includere diagrammi di controllo di flusso o di altro tipo a scopo di documentazione. In alcuni casi estremi, l’intero codice sorgente del programma costituisce un’immagine.

L’uso più estremo dell’arte ASCII è dato dalla riproduzione di video o filmati. Il popolare videogioco Quake dispone di un driver video che consente di visualizzare l’intero videogame in arte ASCII. Più generalmente, per il sistema operativo Linux è disponibile un driver video detto AAlib (ASCII art library) che consente di riprodurre l’output video di qualunque applicazione come arte ASCII. L’uso di caratteri di controllo e sequenze di escape come quelle definite in ANSI X3.64 per lo spostamento del cursore consentono anche di produrre animazioni in arte ASCII (in taluni casi, è necessario rallentare esplicitamente la stampa del testo a video per rendere visibile l’animazione).

È frequente l’uso di questo modo espressivo per arricchire le firme delle e-mail e dei post degli utenti di Usenet.

L’arte ASCII, benché abbia trovato la sua massima diffusione in ambito informatico, non è esclusiva di questo mezzo: un esempio di arte ASCII che precede l’uso dei computer è contenuto nel numero di Ottobre 1948 di Popular Mechanics.

Beck, un cantante pop, nel suo repertorio ha un video della canzone “Black Tambourine” fatto interamente di caratteri ASCII che rappresentano il video originale.

L’Obfuscated C Context è una competizione annuale fra programmatori nel linguaggio C che gareggiano fra di loro nella produzione di programmi funzionanti ma incomprensibili; è molto frequente che il sorgente del programma sia formattato in modo da rappresentare un’immagine, un diagramma o un simbolo che in qualche modo ricordi la sua funzione.

Indice

[nascondi]

Tipi ed esempi di arte ASCII [modifica]

Le più semplici forme di arte ASCII sono combinazioni di due o tre caratteri per esprimere emozioni in un testo. Esse sono comunemente chiamate ‘emoticon‘, ‘smilie’, oppure ‘smiley’. Ruotate mentalmente questi esempi di 90 gradi in senso orario per una migliore comprensione:

:-) oppure :)   :-( opp. :(   ;-) opp. ;)   :-P opp. :p    >:(        :x           :'(                :-|
 sorriso        aggrottato    occhiolino    linguaccia    arrabbiato  acido       pianto          senza parole

  B-) opp. 8-)     :-O opp. :O   :-0 opp. :0   :-S opp. :S     :D       :?       XD opp. xD    :-*        %-)
occhiali da sole      grido       sorpreso      confuso      sorriso    eh?        risata      bacio    occhioni   

(ò)=====::: 
  chitarra

C’è un altro tipo di arte ASCII su una sola linea che non richiede la rotazione virtuale delle figure, che è largamente conosciuta nel Giappone come Kaoani (letteralmente “facce di caratteri”.) Tradizionalmente, sono chiamate “Visi(facce) ASCII”. Alcune di quelle sottostanti, possono essere chiamate Kirby, il personaggio di Nintendo. Oggi, alcuni le chiamano “verticons”:

(^_^)       (-_-)       (X_X)       <(^_^<)^<)
felice     infelice     morto        malumore

\(^o^)/       (o.~)             o<                 d(O.O)b
 gioioso   ammiccante     conspiracy duck       pollici in su

 (b_d)     <(^_^<) (>^_^)> <(^_^<) (>^_^)>             (o_O) (O_o)
occhiali        pointing / dancing           guardar fisso/sopracciglio alzato

          -_-˚                  (v_v)  (~_~)         ;_;    (T_T)
      scoraggiato                dormiente/             piangere
'˚' è la goccia di sudore        occhi bassi        ',' per le lacrime

        t(-_-t)                      (^_o)            ()*()
Gesto del dito               ammiccante/scettico   posteriore

\m/(^_^)\m/                          (>'.')>=============O
Bullo che fa lo shaka                Lancio

  - ¬<('.'¬<)                         

pistole nelle mani                                    
'-' è il proiettile                                     

--,-'--<@
rosa                                                 

<===|:::::::::::>     spada

<===|;;;;;;;;;;;>    spada dentata

Altri esempi più complessi usano più linee di testo per formare grandi simboli o figure più complesse. Alcuni esempi comuni:

    o      o     o    o     o    <o     <o>    o>    o
   .|.    \|.   \|/   //    X     \      |    <|    <|>   Macarena ASCII
    /\     >\   /<    >\   /<     >\    /<     >\   /<

            (__)                      
            (oo)                      
     /-------\/          __           O          _               ,__o
    / |     ||          /o)\         /|\        >(o)__          _-\_<, 
   *  ||----||          \(o/         / \         (_~_/         (*)/'(*)
      ~~    ~~                                  ~~~~~~~
     '''Toro'''      Yin e Yang    Persona   Anatroccolo       Ciclista

      ,-._,-.         (\ /)      
      \/)"(\/         (o.O)
       (_o_)          |> <|
                      /_|_\*

        Cane         Coniglio
               (alcune volte gatto)

                                 -----------------------
                                |                       |
                        /|  /|  |       Per favore,     |
                        ||__||  |       non date        |
                       /   O O\__       da mangiare     |
                      /          \      ai troll.       |
                     /      \     \                     |
                    /   _    \     \ -------------------
                   /    |\____\     \     ||
                  /     | | | |\____/     ||
                 /       \|_|_|/   |    __||
                /  /  \            |____| ||
               /   |   | /|        |      --|
               |   |   |//         |____  --|
        * _    |  |_|_|_|          |     \-/
     *-- _--\ _ \     //           |
       /  _     \\ _ //   |        /
     *  /   \_ /- | -     |       |
       *      ___ c_c_c_C/ \C_c_c_c____________

 |\=/|.-"""-.           |\=/|
 /6 6\       \          /6 6\
=\_Y_/=  (_  ;\     )) =\_Y_/=
   ^//_/-/__///    ((   / ^ \
            ((      \\ /| | |\
                     \( | | | )
                       '"" ""'

Un altro esempio intricato che raffigura la facciata di un palazzo:

                                    |
                                   .-.
                                  /___\            
                                  |___|            
                                  |]_[|            
                                  / I \            
                               JL/  |  \JL         
    .-.                    i   ()   |   ()   i                    .-.
    |_|     .^.           /_\  LJ=======LJ  /_\           .^.     |_|
 ._/___\._./___\_._._._._.L_J_/.-.     .-.\_L_J._._._._._/___\._./___\._._._
        ., |-,-| .,       L_J  |_| [I] |_|  L_J       ., |-,-| .,        .,
        JL |-O-| JL       L_J%%%%%%%%%%%%%%%L_J       JL |-O-| JL        JL
 IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_
 -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]-
  _/\_  ||\\_I_//||  _/\_ [_] []_/_L_J_\_[] [_] _/\_  ||\\_I_//||  _/\_  ||\
  |__|  ||=/_|_\=||  |__|_|_|   _L_L_J_J_   |_|_|__|  ||=/_|_\=||  |__|  ||-
  |__|  |||__|__|||  |__[___]__--__===__--__[___]__|  |||__|__|||  |__|  |||
 IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_]
  \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_]
 ./   \.L_J/   \L_J./   L_JI  I[]/     \[]I  IL_J    \.L_J/   \L_J./   \.L_J
 |     |L_J|   |L_J|    L_J|  |[]|     |[]|  |L_J     |L_J|   |L_J|     |L_J
 |_____JL_JL___JL_JL____|-||  |[]|     |[]|  ||-|_____JL_JL___JL_JL_____JL_J
  AHHHHA 
 AHHHHHHA
AllSTOPllA
 VHHHHHHV
  VHHHHV

È comune mettere questo tipo di disegni nelle firme incluse nelle e-mail e nei messaggi di Usenet. Altre ASCII art ignorano i segni dei caratteri ed invece usano la loro grossezza o luminosità per creare vari gradienti.

       _a,
      _yQa.
     _qTWW(
     je`?QX:
    <d+ -3Wm;
   _qos_s%mWw,
   a2?????TWW(
  sd(     -?Qm;.
.amm;     .xmWmc
"""""`    """""""

Un uso diverso dell’arte ASCII consente di creare uno stile tipografico unico, per esempio:

      ___              __,
     ( /              (          o _/_ /
      / __,  _   _     `.  _ _  ,  /  /_
    _/_(_/(_/ /_(/_  (___)/ / /_(_(__/ /_
   //
  (/

Il programma Figlet (e altri programmi che supportano questi standard) permettono di disegnare e usare font in arte ASCII :

 _____ ___ ____ _      _   
|  ___|_ _/ ___| | ___| |_ 
| |_   | | |  _| |/ _ \ __|
|  _|  | | |_| | |  __/ |_ 
|_|   |___\____|_|\___|\__|

Cowsay [modifica]

Exquisite-kfind.png Per approfondire, vedi la voce Cowsay.

Cowsay è un programma che genera l’immagine ASCII di una mucca con un messaggio, diffuso nella cultura hacker.

Il comando Unix fortune può essere rediretto nel comando cowsay:

lutherblissett@papi-desktop:~$ fortune | cowsay
 ___________________________________
/ mi sono accorto che               \
\   puzzo propro tanto              /
 -----------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |  \
                ||     ||   \_____________
                           /  Prot!!      \
                           \______________/

Video in ASCII art [modifica]

Il programma libero mplayer permette di vedere i filmati utilizzando come output l’ascii art; È possibile ottenere un risultato sia monocromatico che a colori. Il risultato è ottenuto tramite l’uso delle librerie aa.

Metodi per generare ASCII art [modifica]

Mentre alcuni preferiscono usare un semplice editor di testo per fare arte ASCII, sono stati sviluppati programmi specializzati (ASCI art editors) che permettono di disegnare linee, rettangoli e riempire aree con testo, come in un normale programma di grafica.

Altri programmi (ASCII art generators) permettono di convertire automaticamente un’immagine in ASCII art, ovvero uno speciale caso di quantizzazione vettoriale. Un metodo è quello di convertire l’immagine in toni di grigio con precisione minore di 8-bit e successivamente assegnare un diverso carattere ad ogni corrispondente valore dei pixel.

Un esempio di immagine convertita, creata usando Ascgen dotNet, è disponibile qui sotto in due versioni, una in bianco e nero (quella a sinistra) ed una colorata (quella a destra), a fianco dell’originale che è quello al centro:

Blide 5 nocolours.PNG Redwingblackbird1.jpg Bird converted to ASCII characters.png
About these ads

Lascia un commento

Archiviato in Uncategorized

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...