找回密码
 加入
搜索
查看: 2479|回复: 5

[系统综合] "0x02"類型的資料如何做類似字串的 串接...請教高手...

  [复制链接]
发表于 2011-12-13 01:32:46 | 显示全部楼层 |阅读模式
$A=Binary(2)
$B=StringToBinary("0100")

怎麼做 類似字串方式的聯接.....變成 "0x0230313030"

求解......
发表于 2011-12-13 09:42:24 | 显示全部楼层
MsgBox(0,0,series(2,'0100'))

Func series($number,$str)
        If Not IsNumber($number) Then SetError(1)
        If Not IsString($str) Then SetError(2)
        
        $number=Hex($number,BinaryLen(Binary($number)))
        $str=StringToBinary($str)
        
        Return "0x"&StringRegExpReplace(String($number),'\b(0{2})+(?=[0-9a-fA-F]+)','')&StringTrimLeft(String($str),2)
EndFunc

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2011-12-13 13:07:29 | 显示全部楼层
感謝幫助......所以理論上 類似這樣的資料是無法 做運算得到我想要的結果.....比需要把他們拆成類似字串的方式去處理嚕....了解了 感謝^^
发表于 2011-12-19 08:31:38 | 显示全部楼层
本帖最后由 netegg 于 2011-12-19 09:19 编辑

回复 3# kk_lee69 ,

你这一个二进制一个十六进制怎么连,虽说Binary(2) = 10, 但StringToBinary("0100")返回的不是实际二进制数[au3]
MsgBox(0,0,'0x'& hex(2, 2) & StringTrimLeft(StringToBinary("0100"),2))[/au3]如果不考虑通用性的话
另外多说一句,没有数连接这么一说,十进制也一样,只有数字连接
 楼主| 发表于 2011-12-20 01:06:43 | 显示全部楼层
回复 4# netegg

不好意思 蛋大 (這樣叫 好像怪怪的  不知道是不是一種恭維 呵呵^^)
我是搞不太懂 返回的 資料 到底是二進制  還是16進制.....
只是....Binary(2) 得到的結果會是 0x020000 好像....
所以我用這樣的東西來說........

實際上 考勤機 需要我送出的資料是  .......
頭+資料+尾

頭 固定為 0X02
資料就是 把0100  變成 0x30 跟0x31  跟 0x30 0x30
尾 就是 檢查碼 +0x0D 0X0A
所以才這樣發問的..... 因為我如果把2 轉成16進制 應該會變成 0x32吧

不過基本的我只知道 只有0 跟1 的組合才是正確二進制表示法@@
发表于 2011-12-20 06:07:56 | 显示全部楼层
2变成二进制是10,16进制还是2
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 16:23 , Processed in 0.079351 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表