how to convert a string containing utf8 hex codes to a javascript string

var s = "666f6f6c 6973686e 6573732c 20697420 77617320 74686520 65706f63 68206f66 2062656c 6965662c 20697420 77617320 74686520 65706f63 68206f66 20696e63 72656475 6c697479 2c206974 20776173 20746865 20736561 736f6e20 6f66204c 69676874 2c206974 20776173 20746865 2073656";
var r = decodeURIComponent(s.replace(/\s+/g, '').replace(/[0-9a-f]{2}/g, '%$&'));

This solution actually handles UTF-8.

The idea is to put a % in front of every pair of hex digits (thus creating a URL encoded string), then letting decodeURIComponent handle the details (in particular, it will correctly decode multi-byte UTF-8 characters).

Tags:

Javascript