preguntaba si alguien me podría ayudar con la conversión de ascii a hexadecimal en bash.
Ejemplo de código:

#!/bin/bash 
STR = "hello"
#Convert to hex
HEXVAL = $STR #(in hex here?)

Quiero hexval que tiene el valor:
68656C6C6F (hola en hex)

Bienvenido a stackoverflow. has probado ya algo? la Gente está más dispuesto a ayudar si se muestran algunos de los esfuerzos de investigación antes de preguntar. De lo contrario, aparecerá como una ayuda vampiro
es posible engañar a la de stackoverflow.com/questions/5724761/ascii-hex-convert-in-bash

OriginalEl autor user1739261 | 2012-10-11

4 Comentarios

  1. 21
    $ STR="hello"
    $ HEXVAL=$(xxd -pu <<< "$STR")
    $ echo "$HEXVAL"
    6C6C6568A6F

    O:

    $ HEXVAL=$(hexdump -e '"%X"' <<< "$STR")
    $ echo "$HEXVAL"
    6C6C6568A6F

    Cuidado con el '"%X"', con comillas simples y comillas dobles.

    En xxd V1.10 27oct98, tengo que usar xxd -p -u.

    OriginalEl autor John Kugelman

  2. 0

    aquí una línea (un poco complejo, pero funciona bien):

    #!/bin/bash
    
    echo '0x'"`echo $1 | hexdump -vC |  awk 'BEGIN {IFS="\t"} {$1=""; print }' | awk '{sub(/\|.*/,"")}1'  | tr -d '\n' | tr -d ' '`" | rev | cut -c 3- | rev

    OriginalEl autor blogresponder

  3. 0

    Puro BASH conversor de cadena imprimible secuencia hexadecimal y la espalda

    str2hex_echo() {
        # USAGE: hex_repr=$(str2hex_echo "ABC")
        #        returns "0x410x420x43"
        local str=${1:-""}
        local fmt="0x%x"
        local chr
        local -i i
        for i in `seq 0 $((${#str}-1))`; do
            chr=${str:i:1}
            printf  "${fmt}" "'${chr}"
        done
    }
    
    hex2str_echo() {
        # USAGE: ASCII_repr=$(hex2str_echo "0x410x420x43")
        #        returns "ABC"
        echo -en "'${1:-""//0x/\x}'"
    }

    EXPLICACIÓN

    ASCII->hex: el secreto de La salsa de la conversión eficiente de carácter a sus subyacente código ASCII es característica en printf que, con cadena no especificadores de formato, tiene carácter de líder de una sola o de doble comilla como una orden para producir el subyacente código ASCII del símbolo siguiente. Este comportamiento se documenta en GNU BASH referencia, pero también está expuesta en los detalles, junto con otras muchas otras maravillosas utilidades de Greg (también conocido como GreyCat‘s) página wiki BashFAQ/071 dedicado a char-ASCII conversiones.

    OriginalEl autor makarevs

Dejar respuesta

Please enter your comment!
Please enter your name here