wrs-IntUtils.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. export function intToHex(intValue) {
  2. return intValue.toString(16);
  3. }
  4. export function highLowToInt(obj) {
  5. var value = ((obj.high & 0xFF) << 8) | (obj.low & 0xFF);
  6. return value;
  7. }
  8. export function intToHighLow(intValue) {
  9. var low = intValue & 0xFF;
  10. var high = (intValue & 0xFFFF) >>> 8;
  11. return {
  12. low: low,
  13. high: high
  14. }
  15. }
  16. /**
  17. * 大端序 字节数组转int
  18. *
  19. * @param bytes
  20. * @return
  21. */
  22. export function bigEndianToInt(bytes) {
  23. var byte0 = bytes[3] & 0XFF;
  24. var byte1 = (bytes[2] & 0XFF) << 8;
  25. var byte2 = (bytes[1] & 0XFF) << 16;
  26. var byte3 = (bytes[0] & 0XFF) << 24;
  27. var value = byte0 | byte1 | byte2 | byte3;
  28. return value;
  29. }
  30. /**
  31. * 小端序 字节数组转int
  32. *
  33. * @param bytes
  34. * @return
  35. */
  36. export function littleEndianToInt(bytes) {
  37. return (bytes[0]&0XFF)
  38. | ((bytes[1]&0XFF) << 8)
  39. | ((bytes[2]&0XFF) << 16)
  40. | ((bytes[3]&0XFF) << 24);
  41. }
  42. // 大端序 int转字节数组
  43. export function bigEndianToByteArray(i) {
  44. var byte1 = i & 0XFF;
  45. var byte2 = (i & 0XFFFF) >>> 8;
  46. var byte3 = (i & 0XFFFFFF) >>> 16;
  47. var byte4 = (i & 0XFFFFFFFF) >>> 24;
  48. var byteArray = [];
  49. byteArray.push(byte1);
  50. byteArray.push(byte2);
  51. byteArray.push(byte3);
  52. byteArray.push(byte4);
  53. return byteArray;
  54. }
  55. /**
  56. * 小端序 int转字节数组
  57. *
  58. * @param i
  59. * @return
  60. */
  61. export function littleEndianToByteArray(i) {
  62. var byte1 = i & 0XFF;
  63. var byte2 = (i & 0XFF << 8) >> 8;
  64. var byte3 = (i & 0XFF << 16) >> 16;
  65. var byte4 = (i & 0XFF << 24) >> 24;
  66. var byteArray = []
  67. byteArray.push(byte1)
  68. byteArray.push(byte2)
  69. byteArray.push(byte3)
  70. byteArray.push(byte4)
  71. return byteArray;
  72. }
  73. export function bitToInt(bitStr) {
  74. return parseInt(bitStr, 2)
  75. }
  76. export function intToBit(by){
  77. // var bit0 = (by>>7) & 0x1;
  78. // var bit1 = (by>>6) & 0x1;
  79. // var bit2 = (by>>5) & 0x1;
  80. // var bit3 = (by>>4) & 0x1;
  81. // var bit4 = (by>>3) & 0x1;
  82. // var bit5 = (by>>2) & 0x1;
  83. // var bit6 = (by>>1) & 0x1;
  84. // var bit7 = (by>>1) & 0x1;
  85. // return "" + bit0 + bit1 + bit2 + bit3 + bit4 + bit5 + bit6 + bit7;
  86. // return by.toString(2)
  87. var value = by.toString(2)
  88. if(value.length < 8) {
  89. var count = 8 - value.length
  90. for(var i = 0; i < count; i ++) {
  91. value = "0" + value
  92. }
  93. }
  94. return value
  95. }
  96. // module.exports = {
  97. // intToHex: intToHex,
  98. // highLowToInt: highLowToInt,
  99. // intToHighLow: intToHighLow
  100. // }