小编joe*_*erx的帖子

AngularJS:将ArrayBuffer中的二进制数据PUT到服务器

好的,所以我尝试读取这样的PDF文件:

reader.readAsArrayBuffer(file);
Run Code Online (Sandbox Code Playgroud)

然后尝试使用以下方式将其发送到服务器$http:

$http.put(url, data, {headers: {'Content-Type': 'application/pdf'}});
Run Code Online (Sandbox Code Playgroud)

因此,只需以原始形式读取并将二进制文件发送到服务器.据一些资源,我发现,传递一个ArrayBuffer以XHR 工作,但将它作为数据$http只是导致的请求body是这样的:{}Content-Length=2

读取文件会readAsBinaryString()导致文件损坏(由于这个原因,显然已弃用)

用例对我来说似乎微不足道,我错过了什么?

Chrome 36,Angular 1.2.20

javascript angularjs

14
推荐指数
1
解决办法
2万
查看次数

Golang:两个补码和fmt.Printf

因此计算机使用二进制补码来内部表示有符号整数.即,-5表示为^ 5 + 1 ="1111 1011".

但是,尝试打印二进制表示,例如以下代码:

var i int8 = -5
fmt.Printf("%b", i)
Run Code Online (Sandbox Code Playgroud)

输出-101.不是我所期待的.格式不同还是不使用Two的补码?

有趣的是,转换为unsigned int会产生"正确"的位模式:

var u uint8 = uint(i)
fmt.Printf("%b", u)
Run Code Online (Sandbox Code Playgroud)

输出是11111011- 完全是2的补码-5.

所以在我看来,值是内部真正使用二进制补码,但格式化是打印未签名5和前置a -.

有人可以澄清一下吗?

go

8
推荐指数
1
解决办法
1761
查看次数

标签 统计

angularjs ×1

go ×1

javascript ×1