草庐IT

random_bytes

全部标签

c++ - 如何找到 std::random_device 的 "true"熵?

我想检查我的std::random_device实现是否具有非零熵(即非确定性),使用std::random_device::entropy()函数。然而,根据至cppreference.com"Thisfunctionisnotfullyimplementedinsomestandardlibraries.Forexample,gccandclangalwaysreturnzeroeventhoughthedeviceisnon-deterministic.Incomparison,VisualC++alwaysreturns32,andboost.randomreturns10."

c++ - 如何找到 std::random_device 的 "true"熵?

我想检查我的std::random_device实现是否具有非零熵(即非确定性),使用std::random_device::entropy()函数。然而,根据至cppreference.com"Thisfunctionisnotfullyimplementedinsomestandardlibraries.Forexample,gccandclangalwaysreturnzeroeventhoughthedeviceisnon-deterministic.Incomparison,VisualC++alwaysreturns32,andboost.randomreturns10."

Ruby:Random#rand 和 Kernel#rand 之间的区别

Random#rand和Kernel#rand真的有区别吗?据我所知,他们使用了不同的“C”函数。 最佳答案 它们在使用Range调用时表现相同,但在其他几种情况下则不同。当使用负整数-n(如-3)调用时,Random#rand引发ArgumentError,而Kernel#rand的行为就好像你用n调用它(通过(-n).to_int.abs)。当使用0调用时,Random#rand引发ArgumentError,而Kernel#rand就像您调用它时没有任何参数一样。当使用Floatn调用时,Random#rand返回一个介于0之

ruby - 尝试使用 SecureRandom.random_number ruby​​ 2.0.0 的包含范围

我正在使用securerandom,问题是它包含数字“0”,如0..56,和0..46而不是1..56,以及1..46(彩票不包含数字0)。0可以在下面的第二个百万数字输出中看到。我以为我找到了一种方法来排除下面的0(char1,char2),但我失败了。当我使用包含范围的rand(1..56)时,它工作得很好(但一些帖子建议远离rand())。但是,当我尝试在securerandom上使用包含char1和char2的包含范围时,它不起作用。Error:[nil@nillottery]$./mega_millions.rb/dev/null/.rvm/rubies/ruby-2.0.0

ruby - `scan' : invalid byte sequence in UTF-8 (ArgumentError)

我正在尝试读取ruby​​中的.txt文件并逐行拆分文本。这是我的代码:deffile_read(filename)File.open(filename,'r').readendputsf=file_read('alice_in_wonderland.txt')这完美地工作。但是当我像这样添加方法line_cutter时:deffile_read(filename)File.open(filename,'r').readenddefline_cutter(file)file.scan(/\w/)endputsf=line_cutter(file_read('alice_in_wonde

ruby - 为什么我的 Sproutcore 开发服务器断开与 "invalid byte sequence in US-ASCII"的连接?

这是堆栈:Sproutcore1.0.1046。Ruby1.9.1,在RVM中。薄1.2.7。雷神0.13.8。机架1.2.1。事件机器0.12.10。Erubis2.6.6。当我在任何应用程序上启动sc-server时,我对该服务器的第一个请求会在控制台日志中产生:ArgumentError:invalidbytesequenceinUS-ASCII...后跟thisstacktrace.(我已经列出了出现在上面堆栈跟踪中的gem,但是在与堆栈跟踪相同的要点中有一个完整的gemset列表。)对错误消息的研究指出这是Ruby1.9的常见问题,但堆栈跟踪表明问题出在某个gem中。我有:升

ruby-on-rails - 使用 Nokogiri 查找带有文本的链接时如何避免出现 "Invalid byte sequence"

我将Rails5与Ruby4.2一起使用,并扫描我用Nokogiri解析的文档,以不区分大小写的方式查找文本链接:a_elt=doc?doc.xpath('//a').detect{|node|/link[[:space:]]+text/i===node.text}:nil在content中获取网页的HTML后,我使用以下方法将其解析为Nokogiri文档:doc=Nokogiri::HTML(content)问题是,我得到了ArgumentErrorinvalidbytesequenceinUTF-8在某些网页上使用上述正则表达式时。2.4.0:002>doc.encoding=>"

ruby - 如何使用 Array#sample(n, random : rng) syntax?

Array#sample的文档说它可以接受rng:Ifrngisgiven,itwillbeusedastherandomnumbergenerator.范围如何用作随机数生成器,或者为什么这样有用?此外,散列形式表明还有其他选项,但我找不到关于它们的任何信息。尝试[1,2,3,4,5].sample(3)的行为就像[1,2,3,4,5].sample(3,random:1..2)。 最佳答案 参数应该是随机数生成器(RNG)。如果未提供,则默认为“stock”Ruby实现。它可以用任意RNG替换,比如完全不是随机的:classNo

ruby - `exec' : string contains null byte (ArgumentError)

cmd="snvco#{rep}--username#{svn_user}--password#{pxs}"putscmd#thiscodewotksandprintsallvarsvaluesnormallyexec(cmd)xpto.rb:69:in`exec':stringcontainsnullbyte(ArgumentError)fromxpto.rb:69$ruby-vruby1.8.7(2010-01-10patchlevel249)[i686-linux]$gem-v1.3.7这是怎么回事?我该如何解决这个问题? 最佳答案

c++ - 如何在需要旧式 unsigned char 的地方使用新的 std::byte 类型?

std::byte是C++17中的一种新类型,被制成enumclassbyte:unsignedchar.这使得在没有适当转换的情况下无法使用它。所以,我为这种类型的vector取了一个别名来表示一个字节数组:usingBytes=std::vector;但是,它不可能在旧式中使用:接受它作为参数的函数会失败,因为这种类型不能轻易转换为旧式std::vector键入,例如zipper的用法图书馆:/resourcecache/pakfile.cpp:Inmemberfunction'utils::Bytesresourcecache::PakFile::readFile(constst