MSIのBinaryテーブルから文字列を抽出しようとすると、奇妙な動作が見つかりました。
を含むファイルがあります。Hello world
取得するデータはです???Hello world
。(文学的疑問符。)
これは意図したとおりですか?
最初は常に正確に3文字になりますか?
サンプルコード:
[CustomAction]
public static ActionResult CustomAction2(Session session)
{
View v = session.Database.OpenView("SELECT `Name`,`Data` FROM `Binary`");
v.Execute();
Record r = v.Fetch();
int datalen = r.GetDataSize("Data");
System.IO.Stream strm = r.GetStream("Data");
byte[] rawData = new byte[datalen];
int res = strm.Read(rawData, 0, datalen);
strm.Close();
String s = System.Text.Encoding.ASCII.GetString(rawData);
// s == "???Hello World"
return ActionResult.Success;
}