Mat*_*kov 2 c# protocol-buffers
我没有找到在谷歌文档中添加两个字节串的方法。我尝试将它们转换为字符串,连接,然后再转换回来。但它在转换回 ByteString 时陷入困境。
if (someList.Count > 3)
{
var bigString = "";
for (int i = 0; i < someList.Count; i++)
{
string partString= someList.ElementAt(i).ToBase64();
bigString += partString;
Logger.Write($"{i}");
}
Logger.Write("here");
var chunk = ByteString.FromBase64(bigString);
Logger.Write("here2");
SomeFunc(chunk);
someList.Clear();
}
Run Code Online (Sandbox Code Playgroud)
它到达“这里”,但永远不会到达“这里2”。
UPD:someList 中的字节字符串包含 WaveIn 音频数据
我绝对不建议转换为 base64 并返回 - 没有必要这样做,并且它会导致问题,因为由于填充,base64 字符串不能像这样自然地连接。
看起来您实际上并没有尝试连接两个ByteString,而是连接一些任意数字。我建议将它们全部写入 a ,然后从中MemoryStream创建一个新的:ByteString
using var tempStream = new MemoryStream();
foreach (var byteString in someList)
{
byteString.WriteTo(tempStream);
}
tempStream.Position = 0;
var combinedString = ByteString.FromStream(tempStream);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |