Le 24/06/2012 09:59, Guido Berhoerster a écrit :
On 24.06.2012 09:33, Janis Papanagnou wrote:

From: [email protected]

$ print $(( '_' )) $(( ':' ))
95 58

I wasn't aware that we can get the ordinal numbers of characters that
way.
Thanks!

In cases where I am looking for the other way round, getting the
character
from its ordinal number, I intuitively always first try (though to no
avail)
printf "%c%c\n" 95 58
As a workaround I still resort to
$( echo 95P | dc )
$( echo 58P | dc )

Is there a simple *builtin* way for the other way round, get the
character
from its ordinal number? I seem to recall there was, but don't remember.

typeset -i8 c=95
printf "\\${c#*#}\n"

yet another portable? way :

ord ()
{
    #echo -n $(( ( 256 + $(printf '%d' "'$1"))%256 ))
    printf "%d" "'$1"
}
chr ()
{
    printf \\$(($1/64*100+$1%64/8*10+$1%8))
}

well, about ord, don't know while %d quote char works...

Regards,

Cyrille Lefevre
--
mailto:[email protected]


_______________________________________________
ast-users mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-users

Reply via email to