parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

IP to str

G_Z 18.10.2005 00:19 / 18.10.2005 00:20

Методы для преобразования IP в строку (8символов).
Удобно для хранения.
(по аналогии способа хранения IP в phpbb)
#==================================================================================================
@ipToStr[ip][parts;digit]
$parts[^ip.split[.][v]]
^parts.menu{
	$digit(^parts.piece.int(0))
	$result[$result^digit.format[%.02x]]
}
#==================================================================================================

#==================================================================================================
@strToIp[str][position]
$result[^for[position](0;^math:ceiling(^str.length[] / 2) - 1){^hexToInt[^str.mid($position * 2;2)]}[.]]
#==================================================================================================

#==================================================================================================
@hexToInt[hex][letters_to_digits;hex_length;position;digit;pow]
$letters_to_digits[^table::create{from	to
a	10
b	11
c	12
d	13
e	14
f	15
A	10
B	11
C	12
D	13
E	14
F	15}]
$hex_length(^hex.length[])

^for[position](1;$hex_length){
	$digit[^hex.mid($position - 1;1)]
	$digit[^digit.replace[$letters_to_digits]]
	$digit(^digit.int(0))
	$pow($hex_length - $position)
	$result($result + $digit * ^math:pow(16;$pow))
}
#==================================================================================================