Как преобразовать текст или символ для преобразовывания в шестнадцатеричную систему в оболочке Korn

/16обычно используется для указания количества фиксированных битов (, которые не изменятся )в диапазоне адресов сети. Это более простой синтаксис для выражения CIDR .

Наличие IP-номера 1.2.255.1/16 означает, что любой адрес от 1.2.0.0 до 1.2.255.255 является частью этого диапазона адресов или сети.

Однако IP-номер, начинающийся с 255, аналогичный тому, который вы написали 255.255.255.1/16, обычно используется только для сетевой маски и означает что первые 16 бит фиксированы, а остальные могут изменяться.

Маска 255.255.0.0 и a.b.c.d/16 имеют точно такие же маскирующие биты (или используемые биты ).

IP-адрес 255.255.255.255 зарезервирован IANA для будущего использования и также называется адресом назначения «ограниченного широковещания» для сети 0.0.0.0.. Или, говоря простым языком, Широковещательный адрес .

Полное объяснение немного длиннее, но в этом его суть.

1
11.06.2014, 06:53
2 ответа

Вы можете использовать библиотеку awk Velor :

velour -n '
do print mt_basecon(str_ord(ARGV[1]), 10, 16)
while (ARGV[1] = str_slice(ARGV[1], 2))
' 1273455667

Результат:

31
32
37
33
34
35
35
36
36
37
0
27.01.2020, 23:21
I occasionally do this to insert binary strings into an sqlite db
# Convert a string to hex using od
cat testfile   |
od -An -td1 | 
{
 print -n "x'"
 while read aline
 do    for i in $aline 
       do  print -n "%02x"
       done | read format
       printf "$format" $aline
 done 
 print "'"
} | read hexstr
echo "$hexstr"
1
27.01.2020, 23:21

Теги

Похожие вопросы