我需要一个内存块的比较函数,用于对D编程语言中的字节数组进行二进制搜索.它不需要任何有用的语义.它只需要很快并且是一个有效的比较函数(产生总排序的函数).已知要比较的存储器块具有相同的长度.
C memcmp实际上非常慢,因为它试图保留有用的字符串比较语义,这是我不需要的.以下是迄今为止我提出的最佳方法.有没有人知道更好的事情,最好不要使用非便携式CPU特定指令?
// Faster than C's memcmp because it doesn't preserve any meaningful
// semantics. It's just a completely arbitrary, but really fast,
// comparison function.
int memoryCompare(const(void)* lhs, const(void)* rhs, size_t n) {
for(; n >= uint.sizeof; n -= uint.sizeof) {
if( *(cast(uint*) lhs) < *(cast(uint*) rhs)) {
return -1;
} else if( *(cast(uint*) lhs) > *(cast(uint*) rhs)) {
return 1;
}
lhs += uint.sizeof;
rhs += uint.sizeof;
}
for(; n >= ubyte.sizeof; n -= ubyte.sizeof) { …Run Code Online (Sandbox Code Playgroud) 我想在字符串中使用以下格式的当前时间.
dd-mm-yyyy HH:MM
怎么样?
我已经看到了几个关于如何在base64中编码图像文件的问题,但是反过来如何 - 如何从存储在XML文件中的base64字符串重构图片?
<resource>
<data encoding="base64">
R0lGODlhEAAQAPMAMcDAwP/crv/erbigfVdLOyslHQAAAAECAwECAwECAwECAwECAwECAwECAwEC
AwECAyH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJQ0U5LjAHgfNAGQAh/wtNU09GRklDRTku
MBUAAAAJcEhZcwAACxMAAAsTAQCanBgAIf8LTVNPRkZJQ0U5LjATAAAAB3RJTUUH1AkWBTYSQXe8
fQAh+QQBAAAAACwAAAAAEAAQAAADSQhgpv7OlDGYstCIMqsZAXYJJEdRQRWRrHk2I9t28CLfX63d
ZEXovJ7htwr6dIQB7/hgJGXMzFApOBYgl6n1il0Mv5xuhBEGJAAAOw==
</data>
<mime>image/gif</mime>
<resource-attributes>
<file-name>clip_image001.gif</file-name>
</resource-attributes>
</resource>
Run Code Online (Sandbox Code Playgroud)
鉴于上述XML节点resource,我该如何创建clip_image001.gif?
请建议:
请注意,它必须至少能够处理GIF和PNG文件格式.优选地,不限于任何OS.
基于Mads Hansen的解决方案.主要区别在于我net.sf.saxon.value.Base64BinaryValue直接在我的命名空间中引用而不是使用saxon命名空间,因为我比Saxonica网站对函数base64Binary-to-octets和base64Binary函数的描述更直观地理解Java API .
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:b64="net.sf.saxon.value.Base64BinaryValue"
xmlns:fos="java.io.FileOutputStream"
...
exclude-result-prefixes="b64 fos">
...
<xsl:for-each select="resource">
<xsl:variable name="b64" select="b64:new(string(data))"/>
...
<xsl:variable name="fos" select="fos:new(string($img))"/>
<xsl:value-of select="fos:write($fos, b64:getBinaryValue($b64))"/>
<xsl:value-of select="fos:close($fos)"/>
</xsl:for-each>
...
Run Code Online (Sandbox Code Playgroud)
PS请参阅兄弟问题,了解如何获取识别图像文件所需的哈希值.
我正在寻找使用SQL Azure并想知道它是否支持在SQL Server 2008中引入的FILESTREAM数据类型,或者我应该查看另一个解决方案.
我有一个ListBox显示员工的数据,如姓名,部门照片,徽章编号等.员工可能有不同的类型,如经理,员工,志愿者.我有3个独立的数据模板 - 每种类型一个.所有这些模板显示的数据基本相同,但呈现的方式不同.
根据登录应用程序图片的用户,徽章编号等可以显示也可以不显示.所以我有布尔属性 - CanSeePhotos,CanSeeBadgeNumbers等.所以如果CanSeePhotos == false,所有数据模板都应该隐藏照片.
我的问题是,如何在我的数据模板中使用这些布尔属性来切换相应项目的可见性?当我从TemplateSelector返回参数时,有没有办法将参数传递给数据模板?
谢谢!
编辑:跟随雷的想法我最终做到了这一点:
Visibility="{Binding Source={x:Static local:Global.CanSeePhoto}, Converter={StaticResource BooleanToVisibilityConverter}}"
Run Code Online (Sandbox Code Playgroud) 我想用jQuery删除链接文本中的第一个字符.
<span class="test1"> +123.23 </span>
<span class="test2"> -13.23 </span>
Run Code Online (Sandbox Code Playgroud)
我想从jQuery中删除"+"和" - ".
输出:
<span class="test1"> 123.23 </span>
<span class="test2"> 13.23 </span>
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个绘图程序(在检测到鼠标按下/保持的情况下绘制),但是我在使用Qt QPainter时遇到了麻烦.我已经在他们的网站上阅读了文档,我仍然有点迷失.指向不在他们网站上的教程的链接会很好,或者可以向我解释如何在Qt中完成此任务.我唯一能做的就是在小部件上绘制点.
我需要找到一种方法来查找 XML 节点//note/resource/data中的 base64 编码数据的哈希值,或者以某种方式将其与节点//note/content/en中的哈希值匹配-note//en-media@hash
请参阅下面的完整 XML 文件
请建议一种使用 XSLT来{获取|匹配}的方法
4aaafc3e14314027bb1d89cf7d59a06c
Run Code Online (Sandbox Code Playgroud)
{来自|与}
R0lGODlhEAAQAPMAMcDAwP/crv/erbigfVdLOyslHQAAAAECAwECAwECAwECAwECAwECAwECAwEC
AwECAyH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJQ0U5LjAHgfNAGQAh/wtNU09GRklDRTku
MBUAAAAJcEhZcwAACxMAAAsTAQCanBgAIf8LTVNPRkZJQ0U5LjATAAAAB3RJTUUH1AkWBTYSQXe8
fQAh+QQBAAAAACwAAAAAEAAQAAADSQhgpv7OlDGYstCIMqsZAXYJJEdRQRWRrHk2I9t28CLfX63d
ZEXovJ7htwr6dIQB7/hgJGXMzFApOBYgl6n1il0Mv5xuhBEGJAAAOw==
Run Code Online (Sandbox Code Playgroud)
为简洁起见,该示例 XML 文件显然已被删减。每个注释实际可能包含 > 1 个图像,因此需要获取/匹配哈希值。
XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE en-export SYSTEM "http://xml.evernote.com/pub/evernote-export.dtd">
<en-export export-date="20091029T063411Z" application="Evernote/Windows" version="3.0">
<note>
<title>A title here</title>
<content><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml.dtd">
<en-note bgcolor="#FFFFFF">
<p>Some text here (followed by the picture)
<p><en-media hash="4aaafc3e14314027bb1d89cf7d59a06c" type="image/gif" border="0" width="16" height="16" alt="A picture"/></p>
<p>Some more text here (preceded by the picture)
</en-note>
]]></content>
<created>20090925T063154Z</created> …Run Code Online (Sandbox Code Playgroud) 从MySQL中的多个表导出数据的最佳方法是什么?我基本上都在处理产品细节.假设产品有150个数据属性.如何将其导出到一行,然后将其导出为CSV或tabdelimited格式的平面文件.
获取错误表太多; MySQL在连接中只能使用61个表
/**** Get Resultset *****/
$rs = mysql_query($sql);
/**** End of Get Resultset *****/
$objProfileHistory->addHistory($this->profile_id, "Loaded ". mysql_num_rows($rs)." records");
$this->runQuery($sql);
$this->exportToCSV();
/**
* getAttributeDetails
*/
function getAttributeDetails(){
global $dbObj, $profile;
$base_table = "catalog_product_entity";
$select = array();
$tables = array();
$i = 0;
$profile->showLog("Start fields mapping", "success");
if( is_array($this->attributes_in_db) && sizeof($this->attributes_in_db) > 0 ){
$arr = implode("','", $this->attributes_in_db);
$sql = "select attribute_id, attribute_code, backend_type, frontend_input
from eav_attribute
where attribute_code in ('".$arr."')
and entity_type_id =
(select entity_type_id
from eav_entity_type
where …Run Code Online (Sandbox Code Playgroud) 我想通过winrar命令行获取文件列表,最好是未压缩的文件大小.我该怎么做呢?以及如何使用密码进行此操作?从doc看起来我使用-pPASSWORD