我的函数声明如下:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
--------------------编程问答--------------------
Dim bt(0 To 15) As Byte
Dim strTemp As String
Dim intTemp As Integer
strTemp = "wangxiaofeng"
CopyMemory bt(0), StrConv(strTemp, vbFromUnicode), LenB(StrConv(strTemp, vbFromUnicode))
MsgBox strTemp
Option Explicit
Dim strData As String
Dim yTemp() As Byte
Private Sub Command2_Click() 'byte数组到字符串
strData = StrConv(yTemp, vbUnicode)
Text2 = strData
End Sub
Private Sub Form_Load()
Text1 = ""
Text2 = ""
End Sub
Private Sub Command1_Click() '字符字符到byte数组
Dim sTemp As String
'sTemp = "给电子工程师的忠告!!![1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手![2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!"
sTemp = "1234567890给电子工程师的忠告!"
yTemp = StrConv(sTemp, vbFromUnicode)
Text1 = sTemp
Text3 = Len(sTemp)
Text4 = UBound(yTemp)
End Sub
--------------------编程问答--------------------
Dim bt(0 To 15) As Byte
Dim strTemp As String
Dim intTemp As Integer
strTemp = "wangxiaofeng"
CopyMemory bt(0), StrConv(strTemp, vbFromUnicode), LenB(StrConv(strTemp, vbFromUnicode))
MsgBox strTemp
这段代码比我的就少了一行,我的本意是赋值到byte数组后,又返回到字符串看看,这个过程是否正确。
那也无需CopyMemory:
Option Explicit
Dim strData As String
Dim yTemp() As Byte
Private Sub Command2_Click() 'byte数组到字符串
strData = StrConv(yTemp, vbUnicode)
Text2 = strData
End Sub
Private Sub Form_Load()
Text1 = ""
Text2 = ""
End Sub
Private Sub Command1_Click() '字符字符到byte数组
Dim sTemp As String
'sTemp = "给电子工程师的忠告!!![1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手![2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!"
sTemp = "1234567890给电子工程师的忠告!"
yTemp = StrConv(sTemp, vbFromUnicode)
Text1 = sTemp
Text3 = Len(sTemp)
Text4 = UBound(yTemp)
End Sub