我将HDF5DotNet库与VB.net一起使用。 我需要读取一个字符串数据集(3000个项目,每个项目len = 16)。 我使用字节数组来存储所有值,但是解析起来并不容易:我需要按行获取字符串,而不是字符串的一部分。 您知道更好的方法来存储和分析结果吗?

这是我的代码:

'Load the file
Dim HDF5TestFileID As HDF5DotNet.H5FileId
HDF5TestFileID = H5F.open("C:\test.hdf5", H5F.OpenMode.ACC_RDONLY)

'Get datset and group id
Dim GroupRootId As HDF5DotNet.H5GroupId = H5G.open(HDF5TestFileID, "/")
Dim dataSetRN As H5DataSetId = H5D.open(GroupRootId, "MyItemsNames")

'Build byte array from the dataset
Dim readDataBackRN(16 * 3000) As Byte
Dim h5DataBackRN As New H5Array(Of Byte)(readDataBackRN)
Dim typeIdRN As H5DataTypeId = H5D.GetType(dataSetRN)
H5D.read(dataSetRN, typeIdRN, h5DataBackRN)

'try to parse the result but not easy to use data
Dim content as string = System.Text.Encoding.UTF8.GetString(readDataBackRN).Replace(" ", "<br>")

#1楼 票数:0

通常,您读取缓冲区,检查字符串是否完整,如果没有继续读取,则将新内容附加到上一个片段中,并继续这样做,直到找到行尾为止。

你能做这个吗?

#2楼 票数:0

在这种情况下,字符串是完整的,但是有一天我有可能达到大小限制。 我无法修改H5D.read方法。 我想知道简单的字节数组是否是最好的方法吗? 更好的方法是将结果存储在一个字节数组数组中(每行字符串1个字节数组),而不是将所有项目存储在一个字节数组中? 但是我不知道是否有可能。

  ask by user1645056 translate from so

未解决问题?本站智能推荐:

1回复

如何使用HDF.Pinvoke读取HDF5数据集?

我开始使用此https://github.com/HDFGroup/HDF.PInvoke来处理HDF5文件。 但是文档非常差。 我想读取数据集。 我使用此函数:H5D.read(...)。 该函数的最后一个参数是buf,其类型为System.IntPtr。 我对此参数有疑问。 您能
1回复

从VisualBasic中的文件读取字节数组

我有一个用于Visual Basic编程语言的代码,该代码从文件中读取字节数组,我使用该代码: 该代码可以很好地完成工作,但是我有一个问题,它很慢,需要花费大量时间从大小为100 KB的文件和更大的文件中读取数组字节。 请帮忙。 感谢您的关注。
1回复

VB.NET-将字节数组的字符串表示形式转换回字节数组

我有一个应用程序,该应用程序调用第三方Web API,该API返回一个看起来像这样的String : (实际上比这要长得多,但是我希望只是一小段代码就足以识别它,而无需我将字符串粘贴一英里长) 文档说它返回一个Byte数组,但是当我尝试直接将其作为Byte数组接受时,出现错误。 我的问
2回复

vb.net:使用Unicode将字节数组编码为字符串

我正在从来源读取RAW数据。 该原始数据是字节序列。 我将此字节序列存储到我在VB.NET中定义的字节数组中: 因此上述数组中的每个元素都在[0-255]范围内。 我想将每个字节编码为ASCII,UTF-8和Unicode,所以我要遍历字节数组(帧),并根据情况执行以下代码段代码:
1回复

来自空终止字节数组的VisualBasic字符串

这是直到我陷入困境为止发生的事情: 选择一个文件,然后使用System.IO.File.ReadAllBytes(filename)读入一个字节数组 字节数组包含已解压缩的压缩数据,然后再次存储在字节数组中 现在未压缩的数据包含一个似乎以空字符结尾的文本块。 替换为“。”
1回复

将阿拉伯字符串转换为字节数组

我有一个将字符串转换为字节数组的函数。 如果字符串是用英语写的,则该函数可以正常工作。 但是,如果输入字符串是阿拉伯语,则该函数不会返回,并且会出现此错误: 对于无符号字节,值太大或太小 我应更改为将阿拉伯字符转换为字节的内容吗? 我正在使用VB.NET。
1回复

从流生成字节数组

我正在尝试从“.rtf”文件流生成字节数组。 代码如下: 上面的代码为打开的文件生成流长度,但是返回的字节数组在数组中只有 0。 如何生成正确的字节数组?
2回复

将UnmanagedMemoryStream转换为字节数组

如此简单,如何在VBNET中将 UnmanagedMemoryStream转换为Byte-Array ?: 例外: