# Unescaping hex encoded characters in string?

**URL:** <https://www.ruby-forum.com/t/unescaping-hex-encoded-characters-in-string/194299>\
**Category:** Ruby\
**Created:** [September 2, 2010, 7:45am UTC](https://www.ruby-forum.com/t/unescaping-hex-encoded-characters-in-string/194299 "2010-09-02T07:45:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sprite](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/a4c791/32.png) [@sprite](https://www.ruby-forum.com/u/sprite)\
**Post date:** [September 2, 2010, 7:45am UTC](https://www.ruby-forum.com/t/unescaping-hex-encoded-characters-in-string/194299/1 "2010-09-02T07:45:41Z")

</div>

If I have a string like “Don\x{2019}t Let Me Fall”

How do I unescape the hex encoded characters, in this cae convert the  
string to “Don’t Let Me Fall”

---

<div class="post-metadata">

**Author:** ![sprite](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/a4c791/32.png) [@sprite](https://www.ruby-forum.com/u/sprite)\
**Post date:** [September 2, 2010, 9:29am UTC](https://www.ruby-forum.com/t/unescaping-hex-encoded-characters-in-string/194299/2 "2010-09-02T09:29:18Z")

</div>

On Thu, Sep 2, 2010 at 7:45 AM, sprite [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> If I have a string like “Don\x{2019}t Let Me Fall”
> 
> How do I unescape the hex encoded characters, in this cae convert the  
> string to “Don’t Let Me Fall”

In Ruby 1.9.\* something along the lines of

str.gsub /\x{(\h{4})}/ do |code|  
code.to\_i(16).chr(str.encoding)

# code.to\_i(16).chr(Encoding::UTF\_8)

end

Or use gsub! for inplace modification of the string. You might have  
to twiddle with the encodings. Please see  
[http://blog.grayproductions.net/articles/miscellaneous\_m17n\_details](http://blog.grayproductions.net/articles/miscellaneous_m17n_details)

Kind regards

robert

---

<div class="post-metadata">

**Author:** ![sprite](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/a4c791/32.png) [@sprite](https://www.ruby-forum.com/u/sprite)\
**Post date:** [September 2, 2010, 11:01pm UTC](https://www.ruby-forum.com/t/unescaping-hex-encoded-characters-in-string/194299/3 "2010-09-02T23:01:27Z")

</div>

On Sep 2, 3:26 am, Robert K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> # code.to\_i(16).chr(Encoding::UTF\_8)
> 
> remember.guy do |as, often| as.you\_can - without endhttp://blog.rubybestpractices.com/  
> Thanks
