help.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { hexStr2byteArray } from './code.js';
  2. import { ADDRESS_PREFIX } from './address.js';
  3. import { getBase58CheckAddress, decodeBase58Address } from './crypto.js';
  4. import { byteArray2hexStr } from './bytes.js';
  5. export function hexStringToBase58(sHexString) {
  6. if (sHexString.length < 2 || (sHexString.length & 1) != 0)
  7. return '';
  8. const bytes = hexStr2byteArray(sHexString);
  9. return getBase58CheckAddress(bytes);
  10. }
  11. export function base58ToHexString(sBase58) {
  12. const bytes = decodeBase58Address(sBase58);
  13. if (!bytes)
  14. return '';
  15. return byteArray2hexStr(bytes);
  16. }
  17. export function hexStringToUtf8(hex) {
  18. const arr = hex.split('');
  19. let out = '';
  20. for (let i = 0; i < arr.length / 2; i++) {
  21. const tmp = `0x${arr[i * 2]}${arr[i * 2 + 1]}`;
  22. const charValue = String.fromCharCode(parseInt(tmp));
  23. out += charValue;
  24. }
  25. return out;
  26. }
  27. export function stringUtf8tHex(str) {
  28. let val = '';
  29. for (let i = 0; i < str.length; i++) {
  30. if (val == '')
  31. val = str.charCodeAt(i).toString(16);
  32. else
  33. val += str.charCodeAt(i).toString(16);
  34. }
  35. return val;
  36. }
  37. export function address2HexString(sHexAddress) {
  38. if (sHexAddress.length == 42 && sHexAddress.indexOf(ADDRESS_PREFIX) == 0)
  39. return sHexAddress;
  40. return base58ToHexString(sHexAddress);
  41. }
  42. export function hexString2Address(sAddress) {
  43. return hexStringToBase58(sAddress);
  44. }
  45. export function hexString2Utf8(sHexString) {
  46. return hexStringToUtf8(sHexString);
  47. }
  48. export function stringUtf8toHex(sUtf8) {
  49. return stringUtf8tHex(sUtf8);
  50. }
  51. //# sourceMappingURL=help.js.map