VB中汉字字符串转成16进制编码(求vb中将字符串转换为16进制的ascii码代码)

2025-01-15 百科 86阅读 投稿:柠稔

1. VB中汉字字符串转成16进制编码

“他是一个16进制数”

这个可能有点问题

参数的类型应该没有分什么进制的,16进制只是查看程序显示比较方便罢了

直接把Ansi压入就可以了

也就是直接压入Strconv("我是中国人",vbFromUnicode)

如果说程序发送的真的是十六进制字符串的话

那么~最节约的方法:

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

=====================================================

我是中国人, 转一下变成了, &H12494BC4

这个表述应该也有问题

每个汉字有两个字节组成 表示为 &HXXXX

也就是说“我是中国人”这五个字表示为16进制应该有&HXXXXXXXXXXXXXXXXXXXX

这么长

如果是不遵守Unicode的话,倒是有可能用lz所用的长度表示

=====================================================

地址的话要压入 ByVal StrPtr(b)

b是定义的字符串型变量,一定要是ByVal哦

=====================================================

把汉字字符串“新年好啊”转换下存入内存&H00054AE2

这个~首先要确保这个地址分配了足够长的空间

然后用Copymemory

把字符串数据Copy过去

b="新年好啊"

CopyMemory Byval &H00054AE2,Byval ByVal StrPtr(b),lenb(b)

=====================================================

如果是对其他程序的内存作修改的话要先取得访问内存的权限

网络上有游戏修改器的源代码,应该可以参考

动态分配内存空间可以用GlobalAlloc这个API

-----------------------------------------------------

VB的话~弄不好的话IDE可能会崩溃的

所以……最好在每次运行前都保存

2. 求vb中将字符串转换为16进制的ascii码代码

楼上的不是VB代码,不要乱贴啊

使用VB内部函数

Hex$(x) 是把10进制的数字变成16进制

如y=Hex$(10)就是求10的十六进制数 那么 y=A

字母,数字,和汉字的asc码都只要用asc()这个函数就可以求出来了

你把问题写写清楚的话,我可以写下代码

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

声明:沿途百知所有(内容)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们将尽快删除