hex.js 613 B

1234567891011121314151617181920212223
  1. var isOdd = require('./isOdd');
  2. exports = {
  3. encode: function(bytes) {
  4. var hex = [];
  5. for (var i = 0, len = bytes.length; i < len; i++) {
  6. var byte = bytes[i];
  7. hex.push((byte >>> 4).toString(16));
  8. hex.push((byte & 0xf).toString(16));
  9. }
  10. return hex.join('');
  11. },
  12. decode: function(str) {
  13. var bytes = [];
  14. var len = str.length;
  15. if (isOdd(len)) len--;
  16. for (var i = 0; i < len; i += 2) {
  17. bytes.push(parseInt(str.substr(i, 2), 16));
  18. }
  19. return bytes;
  20. }
  21. };
  22. module.exports = exports;