gpt4 book ai didi

c# - 将点的 ArrayList 转换为字节数组以存储在 SQL 数据库中

转载 作者:行者123 更新时间:2023-11-30 15:09:36 24 4
gpt4 key购买 nike

我有一个应用程序的一部分,用于在手持设备上保存用户签名。我设法通过包含“点”数组列表的“线”数组列表来做到这一点。我需要将此信息存储在 SQL 数据库中。我看到的唯一信息是使用图像数据类型并将其传递给字节数组。有问题。我该怎么做,或者有更好的方法吗?

最佳答案

如果将此数据转换为图像,则会丢失一些信息(哪个点属于哪条线)。如果您想保留此信息,您应该序列化您的数据。

决定格式:您可以使用像 XML 这样非常冗长的东西......

<Line>
<Point X="3" Y="4" />
<Point X="3" Y="5" />
...
</Line>
<Line>
<Point X="10" Y="10" />
...
</Line>
...

...或一些自定义的基于文本的格式:

3,4-3,5-...;10,10-...;...

当然,以某种二进制编码存储数据最有效。

如果您使用基于文本(或 XML)的格式,您的序列化将产生一个字符串,您可以将其存储在 varchar(MAX)text 字段中在 SQL Server 中。如果您决定使用二进制编码,则序列化将生成一个字节数组。为此,varbinary(MAX)image 是可供选择的数据类型。请注意,名称 image 可能会产生误导:这并不一定意味着您的数据被编码为“图像”(jpeg、png 等)。

实现:对于 XML 和标准二进制编码,.NET 提供了内置函数。以下是 MSDN 上的介绍和演练链接:

如果您决定使用一些基于文本的自定义编码或自定义二进制编码,您将需要自己编写序列化和反序列化部分的代码。如果您需要这方面的帮助,则需要提供更多信息:您的数据结构究竟如何?您的 X 和 Y 坐标是什么数据类型?

关于c# - 将点的 ArrayList 转换为字节数组以存储在 SQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4254584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com