当前位置: 代码迷 >> PB >> 关于含有0的字符串,在blob中的小疑点
  详细解决方案

关于含有0的字符串,在blob中的小疑点

热度:83   发布时间:2016-04-29 09:06:57.0
关于含有0的字符串,在blob中的小问题
我现在将网卡MAC作为一个字符串,准备转化成BLOB类型。

比如这个MAC为 00 12 34 56 78 9A

string MAC_S

Blob MAC_B

MAC_S = "00123456789A"

MAC_B = Blob(MAC_S)//这样不符合我的数据要求。这样是简单的将字符串转成二进制型,在内存中的数据不是 00123456789A

我想转成在内存中的数据就是 00 12 34 56 78 9A 的数值。

如果我一个一个的字符来处理。

没有 00 这样的字符,是可以的。

但是含有 00 这样的字符。最终的到的字串没有他们了。

------解决方案--------------------
我没晕懂要求呢....
------解决方案--------------------
学习。
------解决方案--------------------
这样做,其中18代表十六进制的12,52代表十六进制34....
blob{6} MAC_B

blobedit(mac_b,1,0)
blobedit(mac_b,2,18)
blobedit(mac_b,3,52)
blobedit(mac_b,4,86)
blobedit(mac_b,5,120)
blobedit(mac_b,6,154)
------解决方案--------------------
4楼的做法可以的,只是你从存储完成的blob再取出来的时候要还原成16进制
------解决方案--------------------

------解决方案--------------------
探讨

6楼朋友测试过吗?

我上面说的需求是,保存到Blob内,在内存中就呈现的是16进制哦。

------解决方案--------------------
MAC地址应该可以保存为LONG型,这样最简单,只是还需要个转换算法
  相关解决方案