JavaScript 类型数组在字节序方面存在危险。
假设你有一个这样的函数:
var encodeFloat32 = (function() {
var arr = new Float32Array( 1 );
var char = new Uint8Array( arr.buffer );
return function( number ) {
arr[0] = number;
return String.fromCharCode( char[0], char[1], char[2], char[3] );
};
}());
如果您要在 Big Endian 系统上运行它,这是一个潜在的危险函数,因为您将 ArrayBuffers 字节提交给“fromCharCode”方法的顺序。
因此,您需要创建某种字节序安全性以使您的代码独立于平台。
在用 JavaScript 编写的应用程序中创建“字节序安全”的最佳实践是什么?有什么解决方法吗?