如何将JavaScript的CRC32算法改写为长尾词?

2026-04-06 11:171阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计250个文字,预计阅读时间需要1分钟。

如何将JavaScript的CRC32算法改写为长尾词?

代码中可以看出的内容如下:

如何将JavaScript的CRC32算法改写为长尾词?

javascriptvar CRC32=(function() { var CRC32Table=[]; var map_hex2=[]; function MakeTable() { var i, j, crc; for (i=0; i <256; i++) { crc=i; for (j=0; j >> 1) ^ 0xEDB88320; else crc=crc >>> 1; } CRC32Table[i]=crc; } } // (其余代码省略)})();

代码里面可以看出,编码为Unicode,非Ascii字符双字节;

var Crc32 = (function(){ var Crc32Table=[], map_hex2 = []; function MakeTable() { var i,j,crc; for (i = 0; i < 256; i++) { crc = i; for (j = 0; j < 8; j++) { if (crc & 1) crc = (crc >>> 1) ^ 0xEDB88320; else crc >>>= 1; } Crc32Table[i] = crc; map_hex2.push(('0' + i.toString(16)).slice(-2)); } } function __initlize(csData) { if(!csData){ return ''; } var crc = 0xffffffff, len = csData.length, i=0; var chr = 0; for(var i = 0; i < len; i++) { chr = csData.charCodeAt(i); if(chr <= 0xff){ crc = (crc >>> 8) ^ Crc32Table[(crc ^ chr) & 0xff ]; }else{ crc = (crc >>> 8) ^ Crc32Table[(crc ^ ((chr >>> 2) & 0xff)) & 0xff ]; crc = (crc >>> 8) ^ Crc32Table[(crc ^ (chr & 0xff)) & 0xff ]; } } return word2hex(crc ^ 0xffffffff); } function word2hex(word){ return map_hex2[word>>>24] + map_hex2[(word>>16) & 0xff] + map_hex2[(word>>8) & 0xff] + map_hex2[word & 0xff]; } MakeTable(); return __initlize; })(); 示例

console.log(Crc32('test'));

本文共计250个文字,预计阅读时间需要1分钟。

如何将JavaScript的CRC32算法改写为长尾词?

代码中可以看出的内容如下:

如何将JavaScript的CRC32算法改写为长尾词?

javascriptvar CRC32=(function() { var CRC32Table=[]; var map_hex2=[]; function MakeTable() { var i, j, crc; for (i=0; i <256; i++) { crc=i; for (j=0; j >> 1) ^ 0xEDB88320; else crc=crc >>> 1; } CRC32Table[i]=crc; } } // (其余代码省略)})();

代码里面可以看出,编码为Unicode,非Ascii字符双字节;

var Crc32 = (function(){ var Crc32Table=[], map_hex2 = []; function MakeTable() { var i,j,crc; for (i = 0; i < 256; i++) { crc = i; for (j = 0; j < 8; j++) { if (crc & 1) crc = (crc >>> 1) ^ 0xEDB88320; else crc >>>= 1; } Crc32Table[i] = crc; map_hex2.push(('0' + i.toString(16)).slice(-2)); } } function __initlize(csData) { if(!csData){ return ''; } var crc = 0xffffffff, len = csData.length, i=0; var chr = 0; for(var i = 0; i < len; i++) { chr = csData.charCodeAt(i); if(chr <= 0xff){ crc = (crc >>> 8) ^ Crc32Table[(crc ^ chr) & 0xff ]; }else{ crc = (crc >>> 8) ^ Crc32Table[(crc ^ ((chr >>> 2) & 0xff)) & 0xff ]; crc = (crc >>> 8) ^ Crc32Table[(crc ^ (chr & 0xff)) & 0xff ]; } } return word2hex(crc ^ 0xffffffff); } function word2hex(word){ return map_hex2[word>>>24] + map_hex2[(word>>16) & 0xff] + map_hex2[(word>>8) & 0xff] + map_hex2[word & 0xff]; } MakeTable(); return __initlize; })(); 示例

console.log(Crc32('test'));