草庐IT

二进制数

全部标签

ruby - Ruby 中是否有内置的二进制搜索?

我正在寻找一种内置的Ruby方法,它具有与index相同的功能,但使用二进制搜索算法,因此需要一个预先排序的数组。我知道我可以编写自己的实现,但根据“Ruby#indexMethodVSBinarySearch”,索引使用的内置简单迭代搜索比二进制搜索的纯Ruby版本更快,因为内置方法是用C写的。Ruby是否提供任何进行二分查找的内置方法? 最佳答案 引入了Ruby2.0Array#bsearch和Range#bsearch.对于Ruby1.9,您应该查看bsearch和binary_searchgem。另一种可能性是使用与数组不同

ruby - 在 Ruby 中写入二进制文件

有没有像我们以前在C/C++中那样将二进制数据写入二进制文件的简单方法?例如,如何在不使用复杂数学的情况下创建一个包含序列化4字节整数值的4字节文件? 最佳答案 您可以使用Array#pack和String#unpack与二进制表示形式相互转换。将它们与IO#write结合起来和IO#read,然后你就走了。 关于ruby-在Ruby中写入二进制文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

ruby - 如何通过 HTTP 下载二进制文件?

如何使用Ruby通过HTTP下载和保存二进制文件?URL是http://somedomain.net/flv/sample/sample.flv。我在Windows平台上,我不想运行任何外部程序。 最佳答案 最简单的方法是特定于平台的解决方案:#!/usr/bin/envruby`wgethttp://somedomain.net/flv/sample/sample.flv`您可能正在寻找:require'net/http'#Mustbesomedomain.netinsteadofsomedomain.net/,otherwise

ruby - 如何在 Ruby 中将字符串或整数转换为二进制?

如何将整数0..9和数学运算符+-*/转换为二进制字符串。例如:0=0000,1=0001,...9=1001有没有办法在不使用库的情况下使用Ruby1.8.6做到这一点? 最佳答案 您可以使用Integer#to_s(base)和String#to_i(base)。Integer#to_s(base)将十进制数转换为代表指定基数的字符串:9.to_s(2)#=>"1001"而相反的情况是通过String#to_i(base)获得的:"1001".to_i(2)#=>9 关于ruby-如

ruby - 在 Ruby 中将二进制文件读取为字符串

我需要一种简单的方法来获取tar文件并将其转换为字符串(反之亦然)。有没有办法在Ruby中做到这一点?我最好的尝试是这样的:file=File.open("path-to-file.tar.gz")contents=""file.each{|line|contents我认为这足以将它转换为字符串,但是当我尝试像这样写回它时......newFile=File.open("test.tar.gz","w")newFile.write(contents)这不是同一个文件。执行ls-l显示文件大小不同,尽管它们非常接近(打开文件会显示大部分内容完好无损)。我是否犯了一个小错误或完全不同(但可

javascript - 数组极端情况下的二进制搜索

我正在尝试实现二分搜索,除极端情况外,所有数字都运行良好:consta=[1,2,3,4,5];functionfindNum(arr,num){letstart=0,end=arr.length-1,mid=Math.floor((start+end)/2);while(startnum)end=mid-1;elsestart=mid+1;}returnfalse;}console.log(findNum(a,5));当我搜索“5”时,它返回false,而不是true。我在这里错过了什么?所有其他情况都按预期正常工作。 最佳答案

javascript - 快速、二进制和 zip 存档逃离 cabal hell

我想使用haste-compiler包来做haskell-to-javascript的事情:jsnavely@beefy:~/project$cabalinstallhaste-compilerResolvingdependencies......Configuringzip-archive-0.2.3...Buildingzip-archive-0.2.3...Preprocessinglibraryzip-archive-0.2.3...[1of1]CompilingCodec.Archive.Zip(src/Codec/Archive/Zip.hs,dist/build/Code

javascript - 没有编码为 UTF-8 或 base64 的 websocket 二进制数据

我正在尝试使用二进制模式的websockets将二进制数据从用Python编写的服务器传输到客户端浏览器(运行javascript)。我已经以文本模式实现了这种通信,但现在我希望通过以二进制模式进行通信来提高性能。我见过的所有示例(例如this,如果有人深入了解使用Tornado的matplotlib/webagg的源代码)都声称它们使用的是二进制模式,但实际上它们似乎对原始二进制数据进行了编码在传输之前的某个时刻转换为UTF-8(或base64)。在我看来,这样做并不是真正的二进制传输,因为它会增加30%到50%的开销。所以我的问题是,是否必须将二进制数据编码为utf-8或base6

javascript - 如何在 javascript (Cscript.exe) 中读取二进制文件?

我想我无法使用Scripting.FileSystemObject类读取二进制文件。我可以用ADODB.Stream做吗?还有什么?我想得到一个字节数组。谢谢。 最佳答案 它也可以将文件作为二进制文件读取,然后使用VBScript将返回的对象(变体数组)转换为Javascript字节数组。为此,您需要使用.wsf文件将VBScript和Javascript混合在一起。您仍然需要ADODB.Stream。PublicFunctionVbBinaryToArray(Binary)DimiReDimbyteArray(LenB(Binar

javascript - 如何使用 FileReader 读取二进制文件以便在 CryptoJS 中使用 SHA-256 对其进行哈希处理?

如何使用javascript将UTF-8字符串转换为Latin1编码字符串?这是我正在尝试做的事情:我得到一个文件,通过读取数组缓冲区将其拆分成block然后,我将数组缓冲区解析为字符串并使用以下代码将其传递给cryptoJS以进行哈希计算:cryptosha256=CryptoJS.algo.SHA256.create();cryptosha256.update(text);hash=cryptosha256.finalize();对于文本文件,这一切都适用。使用散列非文本文件(图像/.wmv文件)的代码时出现问题。我在另一个博客中看到CryptoJS作者要求使用Latin1格式而不