从bytearray / blobColumn c#中删除NUL

时间:2012-11-20 05:33:49

标签: c# ssis bytearray

我的目标是将长字符串输出到SSIS脚本组件中的BlobColumn(文本)中,这是执行此操作的代码。

byte[] blobdata = GetBytes(notes.Substring(0, (notes.Length < 16000 ? notes.Length : 16000)));
blobdata = blobdata.SkipWhile(x => x == 0).ToArray(); //Remove the nulls?
Row.SCNotes.AddBlobData(blobdata);

当我在记事本++中打开我输出此字段的文件时,它看起来像这样

原始字符串:abc

输出:a [nul] b [nul] c [nul]

我的代码有什么问题吗?我怎么能不输出空值?

1 个答案:

答案 0 :(得分:0)

知道了。 C#中的字符串存储为utf16,这会导致此问题

byte[] blobdata = Encoding.UTF8.GetBytes(strNotes);

通过转换为utf8来解决它,删除了每个字符之间的空值。