gpt4 book ai didi

c# - 如何拆分字节数组

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:53 24 4
gpt4 key购买 nike

这是一个简单的代码来分割一个字节数组,看看它是如何工作的。但问题是我得到了奇怪的输出。

    public static void SplitArayUsingLinq()

{
int i = 3;
string data = "123456789";
byte[] largeBytes = Encoding .Unicode .GetBytes (data);
byte[] first = largeBytes.Take(i).ToArray();
byte[] second = largeBytes.Skip(i).ToArray();
string firststring = Encoding.Unicode .GetString (first);
string secondstring = Encoding.Unicode.GetString(second);
Console.WriteLine(" first : " +firststring);
Console.WriteLine(" second : " +secondstring);

}

当 i=3 的值时,我得到这个:

enter image description here

当 i=4 的值时,我得到这个:

enter image description here

在这两种情况下,我都会得到奇怪的输出。似乎无论 i 的值是多少,程序似乎都会考虑它的一半。谁能告诉我为什么会这样?究竟是哪里出了问题?

最佳答案

Unicode 每个字符使用两个字节,所以只有 i 的偶数值才有效,而且它会占用一半的字母数。如果您只想拆分一个字符串,那么执行 String.SubString 会容易得多。

int i = 3;
string data = "123456789";
string firststring = data.SubString(0,i);
string secondstring = data.SubString(i+1);

Console.WriteLine(" first : " +firststring);
Console.WriteLine(" second : " +secondstring);

关于c# - 如何拆分字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746643/

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