vb怎么将一个内容为十六进制的.txt文件转换为.jpg图片,急求大侠,最好有代码,vb新手;谢谢; 100

FFD8FFE000104A46494600010100000100010000FFDB0043000604040504040605050506060607080E090... FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00 FF DB 00 43 00 06 04 04 05 04 04 06 05 05 05 06 06 06 07 08 0E 09 08 08 08 08 11 0C 0D 0A 0E 14 11 15 14 13 11 13 13 16 18 1F 1A 16 17 1D 17 13 13 1B 25 1B 1D 20 21 23 23 23 15 1A 26 29 26 22 28 1F 22 23 21 FF DB 00 43 01 06 06 06 08 07 08 10 09 09 10 21 16 13 16 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B FF ........ 展开
 我来答
姜飞雄
2014-12-23 · TA获得超过622个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:280万
展开全部
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '定义数据文件
        Dim myTxtFile As String = AppDomain.CurrentDomain.BaseDirectory & "tmp.txt"
        '读取数据文件的所有字符
        Dim txtString As String = IO.File.ReadAllText(myTxtFile)
        '只保留0到F的文本,其余的(比如空格,换行等)均消除,如果有其他类型的标识符,也需要将其替换掉
        txtString = txtString.Replace(vbTab, String.Empty)
        txtString = txtString.Replace(vbCrLf, String.Empty)
        txtString = txtString.Replace(vbCr, String.Empty)
        txtString = txtString.Replace(vbLf, String.Empty)
        txtString = txtString.Replace(" ", String.Empty)
        '定义字节类型的列表
        Dim txtList As New List(Of Byte)
        '向字节列表赋值
        For i = 0 To txtString.Length - 1 Step 2
            txtList.Add("&H" & txtString.Substring(i, 2))
        Next
        '字节列表转换为字节数组
        Dim bins() As Byte = txtList.ToArray
        '从字节数组中定义内存流,从这个内存流获取图片,并显示在图片框中。
        PictureBox1.Image = Image.FromStream(New IO.MemoryStream(bins))
    End Sub
End Class
更多追问追答
追问
额,大侠,貌似你给我的是vb.net 的代码,可惜我现在用的是vb6.0
追答
那没办法,我用的是.net,vb6还真不好弄,我也不想研究vb6.要不你先把它转换成字节然后保存到文件,再以图片方式打开试试?
匿名用户
2014-12-23
展开全部
先将16进制转换为Byte字节数组,再按Jpg图片文件头的字节内容拼装在前面,就行了。
追问
我是新手,真心不会,能给段示例吗,谢谢了;
追答
Option Explicit
    Dim str As String
    Dim i As Long
    Dim sendbyte(7) As Byte
 
Private Sub Command1_Click()
    For i = 1 To Len(str) Step 2
        sendbyte((i - 1) / 2) = "&H" & Mid(str, i, 2)
    Next
    For i = 0 To 7
        Print sendbyte(i)
    Next
End Sub
 
Private Sub Form_Load()
    str = "010300320003A404"
End Sub

给段将16进制转换为字节数足的例子

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式