I valori forniti sono UTF-8 valori. Quando è impostato, l'array di:
declare -a ARR=(0xA7 0x9B 0x46 0x8D 0x1E 0x52 0xA7 0x9B 0x7B 0x31 0xD2)
sarà analizzata per stampare i caratteri in chiaro di ogni valore.
for ((n=0; n < ${#ARR[*]}; n++)); do echo -e "\u${ARR[$n]//0x/}"; done
E l'uscita produrrà alcuni caratteri stampabili e alcuni caratteri non stampabili come mostrato qui:

Per convertire i valori esadecimali di testo in chiaro utilizzando il comando echo
:
echo -e "\x<hex value here>"
E per convertire i valori UTF-8 in testo normale utilizzando il comando echo
:
echo -e "\u<UTF-8 value here>"
E poi per la conversione ottale al testo in chiaro usando il comando echo
:
echo -e "\0<octal value here>"
Quando si hanno valori di codifica che non hanno familiarità con, prendere il tempo di controllare gli intervalli nella codifica comune schemi per determinare a quale codifica appartiene un valore. Quindi la conversione da lì è un gioco da ragazzi.
Questo non sembra ASCII. ASCII non è definito per valori maggiori di 0x7f. –
vuoi dire che è binario? – Kerby82
Intendi int/binary invece di ASCII? I valori che hai mostrato sono superiori all'intervallo ASCII ... –