Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl NSAP ID的ip地址_Perl_Ip_Trim - Fatal编程技术网

Perl NSAP ID的ip地址

Perl NSAP ID的ip地址,perl,ip,trim,Perl,Ip,Trim,有谁能帮我想出一个perl脚本或javascript,将IP地址转换为NSAP ID?我有一个表单供用户填写和使用ip地址,并希望自动填充NSAP部分 这是一些要求 例如: 192.168.1.1 将每个八位字节填充为3个字符 192.168.001.001 改为4人一组 1921.6800.1001 最后加0.00 1921.6800.1001.00 谢谢NSAP ID或终端系统ID是一个6字节的字段,通常用点十进制表示法表示为xxxx.xxxx.xxxx。最后添加的两个零是NSAP选择器NS

有谁能帮我想出一个perl脚本或javascript,将IP地址转换为NSAP ID?我有一个表单供用户填写和使用ip地址,并希望自动填充NSAP部分

这是一些要求

例如: 192.168.1.1

将每个八位字节填充为3个字符 192.168.001.001

改为4人一组 1921.6800.1001

最后加0.00 1921.6800.1001.00


谢谢

NSAP ID或终端系统ID是一个6字节的字段,通常用点十进制表示法表示为xxxx.xxxx.xxxx。最后添加的两个零是NSAP选择器NSEL,它标识网络服务用户,在您的情况下,该用户是网络实体title NET或系统本身的网络层。所以从技术上讲,你所做的不是NSAP ID,而是NSAP地址的最后一部分

下面是一个perl脚本,它接受IP地址$IP,执行您在问题中解释的内容并打印出来

my $tmp = "";
foreach my $part (split('\.', $ip)){
  $tmp = $tmp . sprintf("%03s", $part);
}
$tmp =~ s/(.{4})/$1./g;
print $tmp . "00";

如果你打算在一个网站上以表单的形式使用它,也许用javascript编写它会更容易,这样你就可以立即向用户显示它。

告诉我们你迄今为止的尝试。由于这个问题很难回答,请给我代码。目前看来,它可能会关闭。试着用你的语言处理这个过程,然后把它翻译成代码。在点上拆分ip,如果每个部分少于3个字符,则用前导0填充,添加点,等等。感谢您写这篇文章,我同意,我认为使用JS会更好。