Linux-скрипт для преобразования байтовых данных в шестнадцатеричную строку - PullRequest
2 голосов
/ 01 марта 2012

У меня есть байтовые данные,

0Y0*†HÎ*†HÎ=B¬`9E>ÞÕ?ÐŽ·‹ñ6ì­Â‰&ÉÐL_cüsyxoú¢
†
(¯-›E–¿9ÐÖ1ªÐ›¯o

Теперь я хочу создать один скрипт Linux, который преобразует эти данные в шестнадцатеричную строку. Как я могу это сделать?

Ответы [ 2 ]

7 голосов
/ 01 марта 2012

Если вам нужны только шестнадцатеричные строки:

$ echo '0Y0*†HÎ*†HÎ=B¬`9E>ÞÕ?ÐŽ·‹ñ6ì­Â‰&ÉÐL_cüsyxoú¢'|od -vt x1|awk '{$1="";print}'
 30 59 30 2a e2 80 a0 48 c3 8e 2a e2 80 a0 48 c3
 8e 3d 42 c2 ac 60 39 45 3e c3 9e c3 95 3f c3 90
 c5 bd c2 b7 e2 80 b9 c3 b1 36 c3 ac c2 ad c3 82
 e2 80 b0 26 c3 89 c3 90 4c 5f 63 c3 bc 73 79 78
 6f c3 ba c2 a2 0a
5 голосов
/ 01 марта 2012

Используйте команду hd (шестнадцатеричный дамп):

$ echo '0Y0*†HÎ*†HÎ=B¬`9E>ÞÕ?ÐŽ·‹ñ6ì­Â‰&ÉÐL_cüsyxoú¢' | hd
00000000  30 59 30 2a e2 80 a0 48  c3 8e 2a e2 80 a0 48 c3  |0Y0*...H..*...H.|
00000010  8e 3d 42 c2 ac 60 39 45  3e c3 9e c3 95 3f c3 90  |.=B..`9E>....?..|
00000020  c5 bd c2 b7 e2 80 b9 c3  b1 36 c3 ac c2 ad c3 82  |.........6......|
00000030  e2 80 b0 26 c3 89 c3 90  4c 5f 63 c3 bc 73 79 78  |...&....L_c..syx|
00000040  6f c3 ba c2 a2 0a                                 |o.....|
00000046

Или, если у вас нет hd, hexdump:

$ echo '0Y0*†HÎ*†HÎ=B¬`9E>ÞÕ?ÐŽ·‹ñ6ì­Â‰&ÉÐL_cüsyxoú¢' | hexdump 
0000000 5930 2a30 80e2 48a0 8ec3 e22a a080 c348
0000010 3d8e c242 60ac 4539 c33e c39e 3f95 90c3
0000020 bdc5 b7c2 80e2 c3b9 36b1 acc3 adc2 82c3
0000030 80e2 26b0 89c3 90c3 5f4c c363 73bc 7879
0000040 c36f c2ba 0aa2                         
0000046
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...