扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
先把二进制的数据取出,然后再把取出来的值序列化,存到本地硬盘中。
成都创新互联公司是专业的辽源网站建设公司,辽源接单;提供成都网站制作、成都做网站、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行辽源网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
由于你要求的是能够动态的加载与卸载,所以这里选用了appdomain的load方法来加载一个程序集(同样的,卸载的时候调用appdomain的静态方法Unload即可).
另外由于,在appdomain.load的时候remoting会试图将程序集序列化到defaultdomain中去,这会产生问题,通常以一个"FileNotFoundException"结束,因此采用了一种折中的办法.
思路如下:
1.建立一个新的程序集,里面包含一个轻量的类型,这个类型只包含一个用来加载程序集的公共方法;
2.在你的主程序里面,用appdomain.load来加载上一步的程序集,接着实例化上一步的轻量的类型;
3.而后就可以像操作通常的对象一样,调用它上面的方法来加载你想要的程序集了;
源代码已经打包发给你了,
你看看吧~
如果有问题,再找我哈
Function ByteToBin(m As Byte) As String ' 将字节型数据转换成八位二进制字符串
Dim c$
c$ = ""
Do While m 0
r = m Mod 2
m = m \ 2
c$ = r c$
Loop
c$ = Right("00000000" c$, 8)
ByteToBin = c$
End Function
Function Reverse(m As String) As String ' 将八位二进制字符串颠倒顺序
Dim i%, x$
x = ""
For i = 1 To 8
x = Mid(m, i, 1) x
Next i
Reverse = x
End Function
Function BinToByte(m As String) As Byte ' 将八位二进制串转换成十进制
Dim x As String * 1, y%, z%
z = 0
For i = 1 To 8
x = Mid(m, i, 1)
y = x * 2 ^ (8 - i)
z = z + y
Next i
BinToByte = z
End Function
Private Sub Command1_Click()
Dim x As Byte, i%, fname$
fname = InputBox("请输入要加密的文件名!注意加上路径名:")
If Dir(fname) = "" Then
MsgBox "文件不存在!"
Exit Sub
End If
Open fname For Binary As #1 ' 以二进制访问模式打开待加密文件
For i = 1 To LOF(1) ' LOF函数是求文件长度的内部函数
Get #1, i, x ' 取出第i个字节
x = BinToByte(Reverse(ByteToBin(x))) ' 这里调用了三个自定义函数
Put #1, i, x ' 将加密后的这个字节写回到文件原位置
Next i
Close
MsgBox "完成!"
End Sub
退出:Unload Me
网上帮你找的,如果不符合你的要求,你可以再去网上在搜搜,有很多代码的。
这个跟反序列化毫无关系。分隔字符串就用 Split(),没什么难度。
Module Module1
Sub Main()
Dim MYAAA As New AAA
MYAAA.A1 = "BAIGEZY"
MYAAA.A2 = "ASDFASDF"
MYAAA.A3 = "EMC"
Dim serialize As XmlSerializer = New XmlSerializer(GetType(AAA))
serialize.Serialize(Console.Out, MYAAA)
Console.ReadLine()
End Sub
End Module
'类不要套在Module中
Public Class AAA
Public A1 As String
Public A2 As String
Public A3 As String
Public Sub New()
End Sub
End Class
因为他没有从serialable继承。
任何东西都可以序列化,没什么保护或者技术困难的问题。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流