相关疑难解决方法(0)

从JavaScript字符串中读取字节

我有一个包含JavaScript中二进制数据的字符串.现在我想从中读取一个整数.所以我得到前4个字符,使用charCodeAt,做一些移位等等来得到一个整数.

问题是JavaScript中的字符串是UTF-16(而不是ASCII),并且charCodeAt通常返回高于256的值.

Mozilla的参考指出,"前128个Unicode码点是ASCII字符编码的直接匹配".(那么ASCII值> 128?).

如何将结果转换为charCodeAtASCII值?或者有更好的方法将四个字符的字符串转换为4字节整数?

javascript

32
推荐指数
6
解决办法
7万
查看次数

Javascript crc32函数和PHP crc32不匹配UTF8

我一直在尝试从PHP获取crc32函数以匹配javascript生成的结果.我已经经历了4个不同的JavaScript CRC32库走了(1,2,3,4),我在网上和他们都为ASCII做工精细,但是当你扔掉它的UTF8字符,所有四个JS库输出相同的错误发现回答.

这个旧的stackoverflow问题似乎是最接近的答案,但它在我的测试中仍然不起作用.

例如:

PHP: crc32('tést') = 727386373

JavaScript的: crc32.genBytes('tést') = 3109344618

为方便起见,这是最紧凑的版本.

function stringToBytes ( str ) {
  var ch, st, re = [];
  for (var i = 0; i < str.length; i++ ) {
    ch = str.charCodeAt(i);  // get char 
    st = [];                 // set up "stack"
    do {
      st.push( ch & 0xFF );  // push byte to stack
      ch = ch >> 8;          // shift value down by …
Run Code Online (Sandbox Code Playgroud)

javascript php crc32

3
推荐指数
1
解决办法
2741
查看次数

标签 统计

javascript ×2

crc32 ×1

php ×1