bytes.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.byte2hexStr = byte2hexStr;
  4. exports.bytesToString = bytesToString;
  5. exports.hextoString = hextoString;
  6. exports.byteArray2hexStr = byteArray2hexStr;
  7. exports.base64DecodeFromString = base64DecodeFromString;
  8. exports.base64EncodeToString = base64EncodeToString;
  9. const base64_js_1 = require("./base64.js");
  10. function byte2hexStr(byte) {
  11. if (byte < 0 || byte > 255)
  12. throw new Error('Input must be a byte');
  13. const hexByteMap = '0123456789ABCDEF';
  14. let str = '';
  15. str += hexByteMap.charAt(byte >> 4);
  16. str += hexByteMap.charAt(byte & 0x0f);
  17. return str;
  18. }
  19. function bytesToString(arr) {
  20. let str = '';
  21. for (let i = 0; i < arr.length; i++) {
  22. const one = arr[i].toString(2);
  23. const v = one.match(/^1+?(?=0)/);
  24. if (v && one.length === 8) {
  25. const bytesLength = v[0].length;
  26. let store = arr[i].toString(2).slice(7 - bytesLength);
  27. for (let st = 1; st < bytesLength; st++)
  28. store += arr[st + i].toString(2).slice(2);
  29. str += String.fromCharCode(parseInt(store, 2));
  30. i += bytesLength - 1;
  31. }
  32. else {
  33. str += String.fromCharCode(arr[i]);
  34. }
  35. }
  36. return str;
  37. }
  38. function hextoString(hex) {
  39. const arr = hex.replace(/^0x/, '').split('');
  40. let out = '';
  41. for (let i = 0; i < arr.length / 2; i++) {
  42. const tmp = `0x${arr[i * 2]}${arr[i * 2 + 1]}`;
  43. out += String.fromCharCode(parseInt(tmp));
  44. }
  45. return out;
  46. }
  47. function byteArray2hexStr(byteArray) {
  48. let str = '';
  49. for (let i = 0; i < byteArray.length; i++)
  50. str += byte2hexStr(byteArray[i]);
  51. return str;
  52. }
  53. function base64DecodeFromString(string64) {
  54. return new base64_js_1.Base64().decodeToByteArray(string64);
  55. }
  56. function base64EncodeToString(bytes) {
  57. const b = new base64_js_1.Base64();
  58. const string64 = b.encodeIgnoreUtf8(bytes);
  59. return string64;
  60. }
  61. //# sourceMappingURL=bytes.js.map