天驰号

首页 > 投资攻略

投资攻略

memorystream,memorystream delphi 转化 byte数组

发布时间:2024-06-10 09:04:48 投资攻略

在Delphi中,TMemoryStream继承自TCustomMemoryStream,适用于内存中数据操作。下面将介绍memorystream如何转化为byte数组。

1. TMemoryStream继承关系

TMemoryStream直接继承自TCustomMemoryStream,可以使用TCustomMemoryStream的属性和方法。

2. 数据写入TMemoryStream

使用TMemoryStream的Write方法将数据写入流中,示例代码如下:

Data: array[0..255] of ByteStream := TMemoryStream.Createtry

nbsp

nbsp

/写入数据

nbsp

nbsp>Stream.Write(Data, SizeOf(Data))

nbsp

nbsp

/移动指针到开头

nbsp

nbsp>Stream.Seek(0, soBeginning)

nbsp

nbsp

/读取数据

nbsp

nbsp>Stream.Read...

3. TMemoryStream转化为Byte数组

通过CopyFrom方法可以将TMemoryStream转化为Byte数组:

MemoryStream := TMemoryStream.Createtry

nbsp

nbsp>MemoryStream.CopyFrom(Stream, 0)

nbsp

nbsp>MemoryStream.Position := 0

except

nbsp

nbsp>MemoryStream.Free

nbsp

nbsp>raise

end

4. C#中的转化示例

在C#中,可以使用FileStream和byte数组进行转化,示例代码如下:

FileStream fs = new FileStream("f://电子书//图片//1.jpg", FileMode.Open, FileAccess.Read)byte[] MyBinData = new byte[fs.Length]fs.Read(MyBinData, 0, System.Convert.ToInt32(...

5. 字符串和比特数组之间的转换

在C#中,可以使用System.Text.Encoding.Default.GetBytes方法将字符串转化为比特数组,示例代码如下:

byte[] bt = System.Text.Encoding.Default.GetBytes(“字符串”)

6. Delphi中的字符串和Byte数组转化

在Delphi中,可以通过MemoryStream进行字符串和Byte数组之间的互相转换,示例代码如下:

var

nbsp

nbsp>str: string

nbsp

nbsp>ms: TMemoryStream

nbsp

nbsp>bt1: array of Byte

//字符串转比特数组

bt1 := TEncoding.Default.GetBytes(str)