很有意思。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供呈貢網(wǎng)站建設(shè)、呈貢做網(wǎng)站、呈貢網(wǎng)站設(shè)計(jì)、呈貢網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、呈貢企業(yè)網(wǎng)站模板建站服務(wù),十年呈貢做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
原文數(shù)據(jù)全為:“00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ”
加密后變成了:“09 51 55 F4 FB 10 6F A4 D3 E8 87 46 F8 2F 49 CD ; ”
得出這樣的結(jié)果是有很多方法都可以實(shí)現(xiàn)的:
比如每個(gè)原數(shù)上加上個(gè)常數(shù)就可以了。
00+09=09;得出第一組加密后的數(shù)值
00+51=51;得出第二組加密后的數(shù)值
...
00+CD=CD;得出第16組加密后的數(shù)值.
加密的方法還有很多,不過這種最簡(jiǎn)單。
還有就是你給的原文太單一了,不能夠更好的分析數(shù)據(jù)的規(guī)律。
如果你能把原文改為如下這段代碼再去加密一下,再把加密結(jié)果貼上來看一下就好多了。
00000140h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000160h: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 ; 00000170h: 00 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 ;
00000180h: 11 11 11 11 11 22 22 22 22 22 22 EE EE EE FF FF ;
以上是單片機(jī)高手團(tuán)為您解答。
如果還沒解決你的問題,可以加我百度HI賬號(hào)。
'此函數(shù)用于十進(jìn)制到二進(jìn)制
Private Function Bin(Number As Long) As Long
Dim Div_value As String
Do
Div_value = (Number Mod 2) Div_value
Number = Int(Number / 2)
Loop Until Number 2
Bin = Number Div_value
End Function
'此函數(shù)用于二進(jìn)制到十進(jìn)制
Private Function value_Bin(Number As Long) As Long
Dim Temp_value As Long, Cyc As Long
For Cyc = 0 To Len(Str(Number))
If Cyc = Len(Str(Number)) Then
value_Bin = Temp_value + Val(Mid(Str(Number), Cyc, 1))
Exit For
End If
If Cyc 0 Then Temp_value = (Temp_value + Val(Mid(Str(Number), Cyc, 1))) * 2
Next Cyc
End Function
'====寫入以上函數(shù)后轉(zhuǎn)值操作:
'十進(jìn)制到十六進(jìn)制:Hex(十進(jìn)制數(shù)值)
'十進(jìn)制到八進(jìn)制:Oct(十進(jìn)制數(shù)值)
'十進(jìn)制到二進(jìn)制:Bin(十進(jìn)制數(shù)值)
'二進(jìn)制到十進(jìn)制:value_Bin(二進(jìn)制數(shù)值)
'八進(jìn)制到十進(jìn)制:Val("O" 八進(jìn)制數(shù)值)
'十六進(jìn)制到十進(jìn)制:Val("H" 十六進(jìn)制數(shù)值)
比如
msgbox DEC_to_BIN(10)
就會(huì)返回一個(gè)10轉(zhuǎn)換為十進(jìn)制后的結(jié)果
或者簡(jiǎn)單點(diǎn)就用
VB自帶函數(shù):
十進(jìn)制轉(zhuǎn)八進(jìn)制:Oct(num)
十六進(jìn)制轉(zhuǎn)八進(jìn)制:oct("H" num)
十進(jìn)制轉(zhuǎn)十六進(jìn)制:hex(num)
八進(jìn)制轉(zhuǎn)十六進(jìn)制:hex("O" num)
十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
Dim str As String
str = Text2.Text
Text10.Text = CLng("H" str)
不是很明白你的題意
strHex = strHex + [String].Format("{0:X2} "
這里的意思是把每個(gè)字節(jié)數(shù)據(jù)轉(zhuǎn)換成了十六進(jìn)制,每個(gè)字節(jié)占兩個(gè)字符
如果你串口收到的4個(gè)字節(jié)數(shù)據(jù):43,27,56,200
那么你的結(jié)果是:2B1B38C8
即receivebytes.Text="2B1B38C8"
不足兩位的補(bǔ)0
如果你串口收到的4個(gè)字節(jié)數(shù)據(jù):3,27,56,200
那么你的結(jié)果是:031B38C8
即receivebytes.Text="031B38C8"