Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5937387
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T15:32:04+00:00 2026-05-22T15:32:04+00:00

After playing around with URL decoding myself, I managed to come up with some

  • 0

After playing around with URL decoding myself, I managed to come up with some ideas that worked – but they weren’t very efficient. Since URL decoding is a place where severe bottlenecking could occur in my program I decided to go out on the internet and find a more efficient solution. I ran across this codeguru article:

http://www.codeguru.com/cpp/cpp/string/conversions/article.php/c12759

Now, I’m not against using someone else’s code, especially if it’s better than mine. However, I like to know how it works before I do. No point in using code you don’t fully understand.

Here is where I’m stuck, I understand most of the pointer work going on in the decoding function. Where I get lost is the HEX2DEC array and the associated conversion arithmetic. It’s not provided on the website, but rather in the example download so I’ll post it here for your convenience along with the decoding function:

http://pastebin.com/AVDnr6cK

How exactly is this function using this array to convert the hexadecimal to decimal, and then the decimal into it’s ASCII equivalent?

Thank you again for your help.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T15:32:05+00:00Added an answer on May 22, 2026 at 3:32 pm

    The array is a lookup table, for each ascii character used as an index it will provide either -1 if the character is not an hexadecimal character (in [0..9], [A..F] or [a..f]) or the conversion to integer of that hex character.

    In the main loop, whenever a % is found the array is first used to determine whether the following two characters are hexadecimal (!= -1) and if so it converts the whole sequence. The operation (dec1 << 4) + dec2 is equivalent to dec1 * 16 + dec2, and represents the conversion to an integer of 8 bits of the two hex chars.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've noticed some memory leaks in an app i'm building, after playing around with
After playing around with links in Rails for a view hours i've managed to
After playing around with some toy applications, exploring the documentation and googling around (including
I think I am making a really basic mistake but after playing around for
After playing around with haskell a bit I stumbled over this function: Prelude Data.Maclaurin>
I'm currently playing around with Scala development, but I need to integrate with libraries
I'm playing around, trying to write some code to use the tr.im APIs to
So I have been playing around with the facebook like button but I have
I am quite new to erlang and yaws. I after playing around with the
i am going to be coding an api, and after playing around with the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.