gpt4 book ai didi

c# - 在 C# 中使用分隔符连接字节数组

转载 作者:行者123 更新时间:2023-11-30 20:44:38 27 4
gpt4 key购买 nike

我想要类似于 String.Join(separator_string, list_of_strings) 但用于字节数组的东西。

我需要它,因为我正在实现一个文件格式编写器,规范说

"Each annotation must be encoded as UTF-8 and separated by the ASCII byte 20."

然后我需要这样的东西:

byte separator = 20;
List<byte[]> encoded_annotations;

joined_byte_array = Something.Join(separator, encoded_annotations);

最佳答案

我不相信有任何内置的东西,但它很容易编写。这是一个通用版本,但您可以让它只是足够容易地处理字节数组。

public static T[] Join<T>(T separator, IEnumerable<T[]> arrays)
{
// Make sure we only iterate over arrays once
List<T[]> list = arrays.ToList();
if (list.Count == 0)
{
return new T[0];
}
int size = list.Sum(x => x.Length) + list.Count - 1;
T[] ret = new T[size];
int index = 0;
bool first = true;
foreach (T[] array in list)
{
if (!first)
{
ret[index++] = separator;
}
Array.Copy(array, 0, ret, index, array.Length);
index += array.Length;
first = false;
}
return ret;
}

关于c# - 在 C# 中使用分隔符连接字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082972/

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