1. VB中漢字字符串轉(zhuǎn)成16進(jìn)制編碼
“他是一個16進(jìn)制數(shù)”
這個可能有點(diǎn)問題
參數(shù)的類型應(yīng)該沒有分什么進(jìn)制的,16進(jìn)制只是查看程序顯示比較方便罷了
直接把Ansi壓入就可以了
也就是直接壓入Strconv("我是中國人",vbFromUnicode)
如果說程序發(fā)送的真的是十六進(jìn)制字符串的話
那么~最節(jié)約的方法:
dim a() as byte
dim b as string
b="&H"
a=Strconv("我是中國人",vbFromUnicode)
for i = lbound(a) to ubound(a)
b=b & hex(a(i))
next
print b
=====================================================
我是中國人, 轉(zhuǎn)一下變成了, &H12494BC4
這個表述應(yīng)該也有問題
每個漢字有兩個字節(jié)組成 表示為 &HXXXX
也就是說“我是中國人”這五個字表示為16進(jìn)制應(yīng)該有&HXXXXXXXXXXXXXXXXXXXX
這么長
如果是不遵守Unicode的話,倒是有可能用lz所用的長度表示
=====================================================
地址的話要壓入 ByVal StrPtr(b)
b是定義的字符串型變量,一定要是ByVal哦
=====================================================
把漢字字符串“新年好啊”轉(zhuǎn)換下存入內(nèi)存&H00054AE2
這個~首先要確保這個地址分配了足夠長的空間
然后用Copymemory
把字符串?dāng)?shù)據(jù)Copy過去
b="新年好啊"
CopyMemory Byval &H00054AE2,Byval ByVal StrPtr(b),lenb(b)
=====================================================
如果是對其他程序的內(nèi)存作修改的話要先取得訪問內(nèi)存的權(quán)限
網(wǎng)絡(luò)上有游戲修改器的源代碼,應(yīng)該可以參考
動態(tài)分配內(nèi)存空間可以用GlobalAlloc這個API
-----------------------------------------------------
VB的話~弄不好的話IDE可能會崩潰的
所以……最好在每次運(yùn)行前都保存
2. 求vb中將字符串轉(zhuǎn)換為16進(jìn)制的ascii碼代碼
樓上的不是VB代碼,不要亂貼啊
使用VB內(nèi)部函數(shù)
Hex$(x) 是把10進(jìn)制的數(shù)字變成16進(jìn)制
如y=Hex$(10)就是求10的十六進(jìn)制數(shù) 那么 y=A
字母,數(shù)字,和漢字的asc碼都只要用asc()這個函數(shù)就可以求出來了
你把問題寫寫清楚的話,我可以寫下代碼
Option Explicit
Dim aa$, bb$, hexstr$, I&, S
Private Sub Command1_Click()
Dim lendd As Integer, n As Integer
lendd = Len(Text2.Text)
Text3.Text = ""
n = 0
For I = lendd To 1 Step -1
n = n + 1
Text3.Text = Text3.Text + Mid(Text2.Text, I, 1)
If n = 4 Then Text3.Text = Text3.Text & "-": n = 0
Next I
End Sub
Private Sub command2_Click()
aa = ""
If Text1.Text = "" Then Exit Sub
For I = 1 To Len(Text1.Text)
aa = aa & CStr(ZFto16(Mid(Text1.Text, I, 1)))
Next I
Text2.Text = Trim(aa)
Text1.Text = ""
End Sub
Public Function ZFto16(hz$) As String
If hz = "" Then Exit Function
ZFto16 = Hex(Asc(hz))
End Function
Public Function ZF16toZF(hexstr$) As String
If hz = "" Then Exit Function
ZF16toZF = Chr("&H" & hexstr)
End Function