草庐IT

字节流

全部标签

Ruby:从字节创建一个字符串

我想从一个字节值构建一个字符串。我目前使用:str=""str[0]=byte这似乎工作正常,但我发现它很丑陋,而且对于长度超过1个字符的字符串的可扩展性不是很好。有什么想法吗? 最佳答案 有一个比上述任何方法都简单得多的方法:Array#pack:>>[65,66,67,68,69].pack('c*')=>"ABCDE"我相信pack是在matzruby​​中用c语言实现的,因此对于非常大的数组,它也会快得多。此外,pack可以使用“U*”模板正确处理UTF-8。 关于Ruby:从字

ruby-on-rails - Ruby/Rails CSV 解析,UTF-8 中的无效字节序列

我正在尝试解析从Excel电子表格生成的CSV文件。这是我的代码require'csv'file=File.open("input_file")csv=CSV.parse(file)但是我得到这个错误ArgumentError:invalidbytesequenceinUTF-8我认为错误是因为Excel将文件编码为ISO8859-1(Latin-1)而不是UTF-8谁能帮我解决这个问题提前致谢。 最佳答案 您需要告诉Ruby该文件在ISO-8859-1中。将您的文件打开行更改为:file=File.open("input_file

Ruby 1.9 - 无效的多字节字符 (US-ASCII)

我试图让我的Rails应用程序(2.3.5)在Ruby1.9上运行,我有这个函数可以对字符串进行一些转换:defreplace_special_chars(downcase=true)ifdowncasestring=self.downcaseelsestring=selfendstring.gsub!/á|ã|à|ä|â/,'a'string.gsub!/é|è|ë|ê/,'e'string.gsub!/í|ì|ï|î/,'i'string.gsub!/ó|õ|ò|ô|ö/,'o'string.gsub!/ú|ù|ü|û/,'u'string.gsub!/ç/,'c'string.g

javascript - NodeJs 以字节为单位获取变量的大小

我有一个变量“img”,它是一个通过以下方式加载的图像文件:varimg=fs.readFileSync('./tmp.png');如何确定“img”变量的字节数? 最佳答案 就像img是一个缓冲区,你可以简单地使用img.length,它会给你八位字节的大小(8位字节) 关于javascript-NodeJs以字节为单位获取变量的大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

javascript - 为什么不能在 node.js 中使用 ascii 模式在文件中写入空字节?

这是我的代码varfs=require('fs');varfp=fs.openSync('binary.txt',"w");varbyte='\0';fs.writeSync(fp,byte,null,'ascii');当我打开binary.txt文件时执行它后,它包含0x20而不是预期的空字节。现在当我使用fs.writeSync(fp,byte,null,'utf-8');我在文件中得到了想要的空字节。 最佳答案 这不是因为具体的文件,而是Node将ASCII转换为字节以写入的方式。您将在其中看到相同的行为:newBuffer(

javascript - 使用字节的 AWS Rekognition JavaScript SDK

AWSRekognitionJavascriptAPI声明对于rekognition.compareFaces(params,...)方法中,SourceImage和TargetImage可以采用Bytes或S3Object。我想使用Bytes可以是"Bytes—(Buffer,TypedArray,Blob,String)"Blobofimagebytesupto5MBs.当我传递图像的Base64编码字符串时,JSSDK再次重新编码(即双重编码)。因此服务器响应错误说{"__type":"InvalidImageFormatException","Message":"Invalid

JavaScript:读取 8 字节到 64 位整数

我有一个包含八个字节的缓冲区对象。这八个字节现在应该被解释为64位整数。目前我使用以下算法:varint=buff[0];for(vari=1;i这可行,但我相信有更好的方法(也许使用Uint64Array)。不幸的是,我找不到Uint16Array如何帮助我。问候更新://putstwo32bitintegerstoone64bitintegervarbufInt=(buf.readUInt32BE(0) 最佳答案 Javascript不支持64位整数,因为native数字类型是64位double,仅提供53位整数范围。您可以创建

javascript - 在 JavaScript 中计算以 ISO 8859-7 编码的文件的字节大小

背景我正在编写一种名为Jolf的深奥语言.它用于可爱的网站codegolfSE.如果您还不知道,很多挑战都是以字节计分的。人有madelotsoflanguages使用他们自己的编码或预先存在的编码。在我的语言的解释器上,我有一个字节计数器。如您所料,它计算代码中的字节数。到目前为止,我一直在使用UTF-8en/decoder(utf8.js)。我现在使用的是ISO8859-7编码,其中包含希腊字符。文本上传实际上也不起作用。我需要计算上传文件中包含的实际字节数。另外,有没有办法读取所述编码文件的内容?问题给定一个以ISO8859-7编码的文件,该文件来自页面上的元素,有没有办法获得该

javascript - 从 FileReader() 返回字节数组

我需要一些帮助从下面的这个函数返回“bytes”变量以用作另一个函数的输入。functionopenfile(){varinput=document.getElementById("files").files;varfileData=newBlob([input[0]]);varreader=newFileReader();reader.readAsArrayBuffer(fileData);reader.onload=function(){vararrayBuffer=reader.resultvarbytes=newUint8Array(arrayBuffer);console.l

javascript - 以字节为单位的 base64 长度是多少?

我有一个以Base64编码并具有特定文件长度的文件。如何获取以字节为单位的大小?例子:varsize=canvas.toDataURL();console.log(resizeCanvasURL.length);//->132787base64length 最佳答案 Base64编码中的每个符号包含6位信息。普通文件中的每个符号都有8位。因为在解码之后你有你需要的相同数量的信息:normalfilesize-1000bytesbase64filesize-1333bytes 关于java