我有一些python代码,我想在一个100%的php代码中使用。你知道我怎么转换代码吗???我在转换代码时遇到问题,尤其是部分get bit和set bit。在

位掩码通过snmp从交换机中读取,掩码表示交换机端口位于定义的vlan中。示例:

snmpget 1.3.6.1.2.1.17.7.1.4.3.1.2。返回一个十六进制字符串,如F100000000000000

每个十六进制数字表示交换机的4个物理LAN端口。本例中的第一个数字是F,表示二进制1111。这意味着1-4的每个端口都在vlan中。在

如果只需要端口1、2和4,掩码将是1101,并且是十六进制D

代码的目标是我想知道例如端口15是否在vlan中(getbitatposition),如果不是,我可以更改端口位置的位掩码(setBitaPosition)。在

例如,端口15位于从左起的char 4中:

F=端口1-4

1=端口5-8

端口=0-9

0=端口13-16=>十六进制0=>二进制0000

要获得vlan中的端口15,我必须将第3位从0000更改为0010,并将其转换回hex=>2。在

例如,新掩码将为F102000000000000

python代码:def convertHexCharacterToInt(char):

if (char.upper() == "A"):

return 10

elif (char.upper() == "B"):

return 11

elif (char.upper() == "C"):

return 12

elif (char.upper() == "D"):

return 13

elif (char.upper() == "E"):

return 14

elif (char.upper() == "F"):

return 15

else:

return (int(char))

def convertIntToHexCharacter(integer):

if (integer < 0 or integer > 15):

return "-1"

if (integer < 10):

return str(integer)

elif (integer == 10):

return "A"

elif (integer == 11):

return "B"

elif (integer == 12):

return "C"

elif (integer == 13):

return "D"

elif (integer == 14):

return "E"

elif (integer == 15):

return "F"

def __getBitAtPosition(position, bitmap):

for x in range(0, len(bitmap)):

mask = 0x8

for y in range(0, 4):

if (((x * 4) + y + 1) == position):

return (convertHexCharacterToInt(bitmap[x]) & mask) != 0

mask = mask >> 1

return None

def __setBitAtPosition(position, bitmap, value):

if (__getBitAtPosition(position, bitmap) == value):

return bitmap

charPosition = (position + 3) / 4 - 1

bitPosition = int(math.fabs((position - (charPosition * 4)) - 4))

bitValue = 2 ** bitPosition

fourBitValue = convertHexCharacterToInt(bitmap[charPosition])

newValue = None

if (value):

newValue = fourBitValue + bitValue

else:

newValue = fourBitValue - bitValue

newBitmap = bitmap[:charPosition] + convertIntToHexCharacter(newValue) + bitmap[charPosition + 1:]

return newBitmap

这是我第一次尝试,但结果不一样:

^{pr2}$

snmp在php中的使用,在php中转换python代码以计算snmpvlan掩码的最佳方法相关推荐

  1. c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法

    c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...

  2. Javascript中char和int的互相转换的代码(转载)

    Javascript中char和int的互相转换的代码 // Converts an integer (unicode value) to a char function itoa(i) {      ...

  3. python中turtle怎么确定坐标_关于Python turtle库使用时坐标的确定方法

    关于Python turtle库使用时坐标的确定方法 想画一个比较复杂的图像,而且还想用turtle画,最让人想退却的是无规律的笔势和繁多的坐标,但既然没有按奈住冲动的心,那我告诉你一个比较笨的方法吧 ...

  4. java 求导函数_在MATLAB中计算数值导数的最佳方法是什么?

    这些只是一些快速而肮脏的建议 . 希望有人会发现它们有用! 1. Do you have a symbolic function or a set of points? 如果您有符号功能,您可以分析计 ...

  5. python中for循环加速_如何让Python代码加速运行?

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...

  6. python中的浮点数用法_如何利用Python在运算后得到浮点数值的方法详解

    在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1.修改被除数的值为带小数点的形式 ...

  7. 2022年高教社杯全国大学生数学建模竞赛-【赛题解析篇】B题:无人机遂行编队飞行中的纯方位无源定位(附Python代码实现)

    前言 最近发现一个关于数学建模比较好的专栏,需要的小伙伴可移步[数学建模应用]算法实战案例精讲300篇(持续更新ing) 赛题描述 无人机集群在遂行编队飞行时,为避免外界干扰,应尽可能保持电磁静默,少 ...

  8. 在Ubuntu中获取奥比中光的深度值 Python代码

    一.官网下载资料 https://developer.orbbec.com.cn/download.html?id=32下载SDK,并解压到Ubuntu中 二.进行后续工作 奥比中光Astra s P ...

  9. python中and与or的执行顺序-python 代码运行顺序问题?

    Thread.join([timeout]) Wait until the thread terminates. This blocks the calling thread until the th ...

最新文章

  1. 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧(转)...
  2. Android ContentProvider、ContentResolver和ContentObserver的使用
  3. 图像处理技术之分辨率与压缩
  4. 内存heap_哪个内存更快?Heap或ByteBuffer或Direct?
  5. 即插即用,基于阿里云Ganos快速构建云上开源GIS方案
  6. 数据结构、算法及应用 课内模板整理
  7. 百度小程序-swiper组件
  8. 蓝桥杯第五届JavaC组杨辉三角问题解决方法
  9. Android仿虾米音乐播放器之专辑图片模糊处理
  10. chrome浏览器设置思源黑体
  11. 小米笔记本装linux教程视频教程,Archlinux安装指南~小米笔记本Air 13.3英寸版本
  12. 青年大学习分类收集截屏小程序
  13. 苗木损耗1.1用计算机怎么算,园林绿化工程量计算方法
  14. SCOM2019安装监控代理
  15. 嵌入式STM32—第一天GPIO实现led呼吸灯
  16. 【爬虫】 静态网页抓取
  17. 雷军:没想到红米会如此火 芯片也应免费
  18. 二维码可以用哪款条码软件打印?
  19. ArrayList集合的常用方法
  20. 【PS教学】简单几步画一个沙滩插画

热门文章

  1. soapui 测试soap_使用SoapUI调用不同的安全WCF SOAP服务-基本身份验证,第一部分
  2. java –cp_Java –缺少字体–崩溃的应用程序!
  3. json解析对象时指定解析_不解析,使用解析对象
  4. java更好的语言_五个使Java变得更好的功能
  5. java cucumber_为Java + STANDARD值引入Cucumber
  6. redis nosql_Redis教程:NoSQL键值存储
  7. aws sqs_在Spring使用AWS SQS创建消息驱动Bean
  8. junit测试类叫什么名字_使用Junit测试名称
  9. Java:可选的可选实现
  10. jsf 自定义属性_如何在JSF中实现自定义密码强度指示器