Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

javascript

I have a string that contains hexadecimal string (content of a utf8 string )

"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"

I need to convert it back to a javascript string. how to do it ?

like image 761
CodeWeed Avatar asked Dec 13 '12 17:12

CodeWeed


1 Answers

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).

like image 169
melpomene Avatar answered Sep 19 '22 13:09

melpomene