我有一个非常痛苦的库,目前正在接受一个C#字符串作为获取数据数组的方法; 显然,这使得针对pinvokes的编组更容易.
那么如何按字节将ushort数组转换为字符串呢?我试过了:
int i;
String theOutData = "";
ushort[] theImageData = inImageData.DataArray;
//this is as slow like molasses in January
for (i = 0; i < theImageData.Length; i++) {
byte[] theBytes = System.BitConverter.GetBytes(theImageData[i]);
theOutData += String.Format("{0:d}{1:d}", theBytes[0], theBytes[1]);
}
Run Code Online (Sandbox Code Playgroud)
我可以这样做,但它没有完成任何远远接近理智的时间.
我该怎么办?变得不安全?通过某种IntPtr中间体?
如果它是C++中的char*,那么这将更加容易......
编辑:函数调用是
DataElement.SetByteValue(string inArray, VL Length);
Run Code Online (Sandbox Code Playgroud)
其中VL是'值长度',DICOM类型,并且函数本身由SWIG生成为C++库的包装器.似乎选择的表示是字符串,因为它可以相对容易地跨越托管/非托管边界,但是在项目的整个C++代码中(这是GDCM),char*只是用作字节缓冲区.所以,当你想设置图像缓冲区指针时,在C++中它很简单,但在C#中,我遇到了这个奇怪的问题.
这是hackeration,我知道最好的办法是让SWIG库正常工作.我真的不知道该怎么做,宁愿在C#方面快速解决,如果存在的话.
是否有一个具体的原因,我应该使用Html.CheckBox
,Html.TextBox
等方法,而不只是手动编写HTML?
<%= Html.TextBox("uri") %>
Run Code Online (Sandbox Code Playgroud)
呈现以下HTML
<input type="text" value="" name="uri" id="uri"/>
Run Code Online (Sandbox Code Playgroud)
它猜测它可以为您节省一些关键击键但除此之外.是否有一个特定的原因,为什么我应该尽可能地使用HtmlHelpers或者它只是一个偏好的东西?
假设有a.gz和b.gz.
$ gzip_merge a.gz b.gz -output c.gz
我想要这个节目.当然,
$ cat a.gz b.gz> c.gz
不起作用.因为a.gz的最终DEFLATE块具有BFINAL,而b.gz的GZIP头部.(请参阅RFC1951,RFC1952)但是如果你取消设置BFINAL,扔掉第二个GZIP标头并遍历第二个gzip文件的字节边界,你可以合并它.
事实上,我曾考虑为此事编写一个开源程序,但不知道如何发布它.所以我让Joel成为我的项目经理,我让他完成了我的解释和辩护,他终于理解了我想做的事,但说他太忙了.:(
当然,我可以自己写一个并尝试发布它.但我不能单独这样做,因为我的日常工作属于我雇主的财产.
有志愿者吗?我们可以作为程序员(我),出版商(您)或程序员(您),出版商(我).我需要的只是一些功劳.我曾经实现过RFC3320中描述的通用解压缩器虚拟机.所以我知道这是可行的.
或者,你可以指点那个程序.它对于管理日志文件非常有用,例如将365(天)gzip压缩日志文件合并为一个.;)
谢谢.
我有大量的整数数组.每个整数都有几千个整数,每个整数通常与之前的整数相同,或者只有一两个或两个不同.我想将每个阵列缩小尽可能小,以减少我的磁盘IO.
Zlib将其缩小到原始尺寸的约25%.这很好,但我不认为它的算法特别适合这个问题.有没有人知道压缩库或简单的算法可能会更好地执行此类信息?
更新:将zlib转换为xor deltas数组后,将其缩小到原始大小的20%左右.
所有绘画程序,无论它们多么简单或复杂,都带有填充工具.这基本上用另一种颜色替换封闭区域的颜色.我知道有不同的API可以做到这一点,但我对算法很感兴趣.实现此工具的有效算法是什么?
我能想到的一些事情很快就是:
1
所有其他颜色0
.我有一个实现多个接口的类.我想通过XML注册这些接口.我找到的只是新Fluent界面的文档.这个选项是否通过XML支持?添加此功能会涉及什么?
我希望能够使用Microsoft Vista的语音识别来指示我的Delphi应用程序.然而,当试图指挥TMemo时,它根本不起作用.我注意到Firefox 3.0有同样的问题,在他们联系微软之后,他们告诉他们需要为他们的应用程序实现Text Services Framework.
我想知道是否有任何方法可以在Delphi中实现这一点,以便我可以指定TMemo或TRichEdit.在Google上搜索解决方案并未返回任何相关结果.我从哪里开始寻找解决方案?
编辑:我发现有一种方法可以在所有程序中启用语音识别,即使是那些不支持语音识别的程序,只需转到Windows语音识别选项并选择在任何地方启用听写.但是,当您使用此命令进入不使用文本服务框架的编辑框时,它总是会弹出备用面板,该面板显示提示说出所需项目旁边的数字,然后单击确定.虽然这可能适用于短句,但它没有许多有用的功能,例如纠正或删除单词.所以我仍然试图弄清楚如何在不依赖于启用任何地方的听写选项的情况下启用语音识别.
delphi speech-recognition text-services-framework windows-vista
我无法为我的生活找到一种方法来完成这项工作.
如果我有3个div(左侧边栏,一个主体和一个页脚),我怎么能让侧边栏和主体坐在一起而不将它们的位置设置为"绝对"或浮动它们?执行这些选项中的任何一个都会导致页脚div没有被一个或另一个向下推.
无论在这些元素之前出现什么(比如另一个标题div或其他东西),我怎么能实现这个目标?
如果有帮助,这里是我试图允许的两种情况的说明:
这是我目前设置的HTML的简化版本:
<div id="sidebar"></div>
<div id="content"></div>
<div id="footer"></div>
Run Code Online (Sandbox Code Playgroud)