我有一个ArrayBuffer包含使用UTF-8编码的字符串,我找不到将其转换ArrayBuffer为JS 的标准方法String(我理解使用UTF-16编码).
我已经在很多地方看到过这段代码,但我看不出它如何适用于长度超过1个字节的任何UTF-8代码点.
return String.fromCharCode.apply(null, new Uint8Array(data));
Run Code Online (Sandbox Code Playgroud)
同样,我找不到从a String转换为UTF-8编码的标准方法ArrayBuffer.
我想知道是否可以通过仅使用Javascript获取PDF文件中的文本?如果有,任何人都可以告诉我如何?
我知道有一些服务器端的java,c#等库,但我不想使用服务器.谢谢
我想将我的REST API中请求的图像解析为base64字符串.

首先......我想,这很容易,只是window.btoa()为了这个目的使用功能.
当我尝试在我的应用程序的这一部分中执行此操作时:
.done( function( response, position ) {
var texture = new Image();
texture.src = "data:image/png;base64," + window.btoa( response );
Run Code Online (Sandbox Code Playgroud)
我有下一个错误:Uncaught InvalidCharacterError:无法在'Window'上执行'btoa':要编码的字符串包含Latin1范围之外的字符.
正如我在这里读到的:javascript atob返回'String包含无效字符'
出现问题是因为newlines in the response这就是window.btoa()失败的原因.任何二进制图像格式当然都会有换行符...但是从上面的链接建议是删除/替换这些字符 - 这对我来说是一个不好的建议,因为如果从二进制图像中删除/替换一些字符它就会是损坏.
当然,可能的替代方案与API设计有关: - 添加一些函数,返回base64表示 - 添加一些函数,返回url到图像
如果我不修复它,我将从服务器返回base64表示,但我不喜欢这样的方式.
是否存在一些方法来解决我从处理二进制图像的问题,因为它在屏幕截图中显示,不是吗?
我想从tmx文件中获取压缩层数据.谁知道在javascript中解压缩gzip和zlib字符串的库?我尝试zlib但它对我不起作用.例如,tmx文件中的图层数据是:
<data encoding="base64" compression="zlib">
eJztwTEBAAAAwqD1T20JT6AAAHgaCWAAAQ==
</data>
Run Code Online (Sandbox Code Playgroud)
我的javascript代码是
var base64Data = "eJztwTEBAAAAwqD1T20JT6AAAHgaCWAAAQ==";
var compressData = atob(base64Data);
var inflate = new Zlib.Inflate(compressData);
var output = inflate.decompress();
Run Code Online (Sandbox Code Playgroud)
它运行时显示消息错误"不支持的压缩方法".但我尝试使用在线工具解压缩为http://i-tools.org/gzip,它返回正确的字符串.
在我的控制器中,我调用一个返回promise的服务
var onComplete = function(data) {
$scope.myImage = data;
};
Run Code Online (Sandbox Code Playgroud)
在我的服务中,我通过将url直接传递给图像本身来调用以获取图像:
return $http.get("http://someurl.com/someimagepath")
.then(function(response){
return response.data;
});
Run Code Online (Sandbox Code Playgroud)
所有的调用都成功了,response.data似乎保存在里面的图像中:
????JFIF??;CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 90
??C
??C
????"??
???}!1AQa"q2???#B??R??$
Run Code Online (Sandbox Code Playgroud)
虽然我不确定它是否确实存在,因为我在显示它时遇到了麻烦.我试过了(在index.html里面)
<img ng-src="{{myImage}}">
and
<img ng-src="{{myImage}}.jpeg">
and
<img ng-src="data:image/JPEG;base64,{{myImage}}">
Run Code Online (Sandbox Code Playgroud)
想法?是否可以从$ http.get返回实际图像并将其响应转换回图像(jpeg等)
谢谢!
我一直在使用同步XMLHttpRequest,其responseType设置为"arraybuffer"很长一段时间来加载二进制文件并等到它被加载.今天,我收到了这个错误:"Die Verwendung des responseType-Attributes von XMLHttpRequest wird im synchronen Modus im window-Kontekt nichtmehrunterstützt." 大致转换为"不再支持在窗口上下文(?)中以同步模式使用XMLHttpRequest的responseType."
有谁知道如何解决这一问题?我真的不想对这样的事情使用异步请求.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.responseType = 'arraybuffer';
Run Code Online (Sandbox Code Playgroud)
镀铬工作正常.
我正在将我的代码从Node.js转换为浏览器的javascript,但我在node.js中遇到了Buffers的问题.我怎样才能在Javascript中使用它们?
这是一个例子:
new Buffer("foo", encoding='utf8')
<Buffer 66 6f 6f>
Run Code Online (Sandbox Code Playgroud)
我需要将javascript中的[66,6f,6f]转换为"foo",反之亦然.我怎样才能做到这一点?注意:这必须在没有Node.js的情况下完成.
在HTML中呈现以下Unicode文本时,事实证明,当将数据发布回服务器时,浏览器(Google Chrome)会执行某种形式的Unicode规范化.(可能是表格C).
但是用希伯来文圣经(בְּרִיךְהוּא)文本时,这可以很容易地将文本,因为它在概述这里(第10页).
有没有办法避免浏览器自动文本规范化?
我写了一篇博文,更详细地描述了我所面临的问题:http: //blog.hibernatingrhinos.com/12449/would-it-be-possible-to-have-a-web-browser-based-编辑换了,希伯来文
我想读取JavaScript中的二进制文件,该文件将通过XMLHttpRequest获取并能够操作该数据.从我的研究中我发现了这种将二进制文件数据读入数组的方法
var xhr = new XMLHttpRequest();
xhr.open('GET', '/binary_And_Ascii_File.obj', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
var uInt8Array = new Uint8Array(this.response);
};
Run Code Online (Sandbox Code Playgroud)
如何将此二进制数据数组转换为人类可读字符串?
我有一个使用的拖放脚本readAsArrayBuffer().缓冲区的长度是完美的,但我似乎无法弄清楚如何从缓冲区中提取数据.
显然我必须制作一个DataView或Uint8Array或其他东西,然后迭代它的byteLength...帮助!
编辑 相关代码(不是很多):
var reader = new FileReader();
reader.onload = function(e) {
// do something with e.target.result, which is an ArrayBuffer
}
reader.readAsArrayBuffer(someFileHandle);
Run Code Online (Sandbox Code Playgroud) javascript ×8
arraybuffer ×2
ajax ×1
angularjs ×1
base64 ×1
binary ×1
binary-data ×1
binaryfiles ×1
buffer ×1
compression ×1
firefox ×1
forms ×1
gzip ×1
image ×1
node.js ×1
pdf ×1
string ×1
text ×1
tmx ×1
unicode ×1
utf-8 ×1
zlib ×1