我有一个输出文件的批处理脚本,我试图确保每次执行脚本时,都不会覆盖现有文件,所以我试图在其上添加时间戳.
目前我有这个:
set stamp=%DATE:/=-%_%TIME::=-%
Run Code Online (Sandbox Code Playgroud)
但如果时间是1-9 AM,它会给出类似的结果:
13-06-2012_ instead of a full 13-06-2012_12-39-37.28
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
我正在使用Windows 7,并且echo %date% %time%命令行窗口中的输出是(我的'短日期'时钟格式设置为显示3个字母的月份):
03-Sep-12 9:06:21.54
Run Code Online (Sandbox Code Playgroud)
编辑:我现在一直使用以下时间戳,效果很好.
set timestamp=%DATE:/=-%_%TIME::=-%
set timestamp=%timestamp: =%
Run Code Online (Sandbox Code Playgroud)
它产生像时间戳:18-03-2013_13-37-43.26,通过更换/和:在%TIME%和%DATE%,然后剥离空格.在我原来的问题中,空白是问题,真的.
在编写接受文件输入的Web应用程序时,我想使用drag'n'drop,但我不想在页面上只有一个小的dropzone.我认为如果你可以放在页面的任何地方会更方便.幸运的是,window.ondrop事件会在页面的任何地方触发,但我想要一些奇特的效果来直观地向用户显示拖放是可能的.
要做到这一点,所需要的只是检测文件被拖入窗口的时间,以及何时将其拖出,以触发向用户显示应用程序已启用拖动的效果.事实证明拖拽事件并不那么方便.我假设window.ondragenter当用户进入页面时只会触发一次.然后当你离开窗户时,它会触发window.ondragleave.错误.当鼠标移动到页面中的子元素时,它会不断触发.
我查看了事件对象中可用的属性,试图找到任何可以隔离我需要的东西,但没有任何效果.我得到的最好的是能够改变背景颜色body.并且只有页面上没有其他内容.
大量的文件上传网站做对了.例如,Imgur和WeTransfer.他们的网站都是spahetti编码和压缩到不可读的地步,我通过谷歌搜索找不到任何关于这个主题的内容.
那么怎么做呢?
我正在开发一个打开二进制文件的Web应用程序,并允许对它们进行编辑.
这个过程基本上就是 ondrop -> dataTransfer.files[0] -> FileReader -> Uint8Array
基本上,我希望能够将修改后的文件保存为二进制文件.理想情况下,作为具有指定文件名的文件下载.
似乎没有任何标准方法可以做到这一点,这很糟糕,因为到目前为止的一切都得到了很好的支持.
我目前正在使用String.fromCharCode()base64编码将数组转换为字符串,并在超链接中使用数据uri data:application/octet-stream;base64,..,以及download指定文件名的属性.
它似乎工作,但它很hacky,我认为将原始字节转换为字符串可能会引入编码问题,具体取决于字节值.我不希望数据损坏或破坏字符串.
除此之外,是否有更好/适当的方法将字节数组作为二进制文件提供给用户?
在一个普通的HTML文档£(dec 163)中,渲染为£而不需要;,而&oelig(dec 339)将仅使用分号渲染-.似乎每个具有小于255的十进制值的html实体都将在FireFox和Chrome中呈现而不需要分号.
是什么赋予了?
MurmurHash3和 xxHash等非加密哈希几乎专为哈希表设计,但它们的功能似乎与CRC-32、Adler-32和Fletcher-32相当(甚至更有利)。非加密哈希通常比 CRC-32 更快,并产生更多类似于慢速加密哈希(MD5、SHA)的“随机”输出。尽管如此,我只看到 CRC-32 或 MD5 被推荐用于数据完整性/校验和目的。
在下表中,我测试了 32 位校验和/CRC/哈希函数,以确定它们检测数据中微小差异的能力:
每个单元格中的结果意味着:A) 发现的冲突次数,以及 B) 32 个输出位中的任何一个设置为 1 的最小和最大概率。要通过测试 B,最大值和最小值应尽可能接近 50 . 任何低于 45 或高于 55 的东西都表明存在偏见。
查看表格,MurmurHash3 和Jenkins lookup2与 CRC-32(实际上未通过一项测试)相比要好得多。它们也分布良好。DJB2 和 FNV1a 通过了碰撞测试,但分布不佳。Fletcher32 和 Adler32 在 NullBytes 和 8RandBytes 测试中挣扎。
那么我的问题是,与其他校验和相比,“非加密哈希”有多适合检测文件中的错误或差异?CRC-32/Adler-32/CRC-64 是否有任何理由可能胜过任何体面的 32 位/64 位哈希?
有什么区别:
function test (e) {
console.log("Event: ", e);
}
document.querySelector("button").onclick = test;Run Code Online (Sandbox Code Playgroud)
<button>Click!</button>Run Code Online (Sandbox Code Playgroud)
和:
function test () {
console.log("Event: ", event); // same as window.event
}
document.querySelector("button").onclick = test;Run Code Online (Sandbox Code Playgroud)
<button>Click!</button>Run Code Online (Sandbox Code Playgroud)
它们似乎返回完全相同的对象,甚至包含相同的timeStamp值,以毫秒为单位.
我经常看到代码使用第一个例子,使用e或evt,但第二个例子有什么问题?
据我所知,event是一样的window.event,这是一个全局变量,但什么是使用的目的e,如果event做同样的事情?
我试图找到 LZ77 的正确实现,LZ77是 1977 年论文中的原始著名算法。我发现有许多不同的实现会产生不同的输出,但仍标记为 LZ77。例如,有些使用哈希表,在更“官方”的算法(如 LZRW 或 LZJB)中使用的东西。所以我很困惑。
我测试过的一些实现:
据我所知,没有人使用任何后处理编码,例如霍夫曼等。
我用来压缩的文本:
Oho! Oho! Rise up, O Teti!
Take your head, collect your bones,
Gather your limbs, shake the earth from your flesh!
Take your bread that rots not, your beer that sours not,
Stand at …Run Code Online (Sandbox Code Playgroud) javascript ×3
batch-file ×1
behavior ×1
binary-data ×1
checksum ×1
cmd ×1
compression ×1
crc ×1
css ×1
events ×1
file-io ×1
hash ×1
html ×1
lz77 ×1
typed-arrays ×1
windows ×1