繁体   English   中英

将二进制文件Python读取到Vb.net

[英]Read Binary File Python to Vb.net

我有两行简单的Python脚本,其中len(fileData)为3530

Python

   imgFile = file(inputFile, "rb")
   fileData = imgFile.read()

我正在尝试将其转换为vb.net。 如果这样做,我可以得到匹配的长度,但是我一直试图将数据本身实际获取到字符串变量中:

VB.NET

    Using reader As New BinaryReader(File.Open(inputFile, FileMode.Open))
    Dim length As Integer = reader.BaseStream.Length
    End Using

我尝试使用

VB.NET

    Dim fileData As String = File.ReadAllText(inputFile)

但是当我执行len(fileData)时,它是3528,所以有些不对劲。

我只想打开二进制文件并将其读取为字符串变量,然后看它的长度为3530,因为它当前可以在Python脚本中正常工作。

我想念什么?

您缺少并非每个二进制数据都可以表示为String的事实。

如果只需要原始数据及其长度,则可以将文件读取为字节数组:

    Dim myBytes() As Byte = IO.File.ReadAllBytes("myFile.dat")
    Console.WriteLine(myBytes.Length)

如果确实需要将数据作为字符串,则必须考虑字符串的编码:

    Dim myString As String = IO.File.ReadAllText("myFile.dat", System.Text.Encoding.UTF8)        

不带第二个参数的ReadAllText()假定使用一种编码(很可能是) Encoding.Default ,即系统代码页的ANSI。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM