Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post01.iad.highwinds-media.com!newsfe27.iad.POSTED!not-for-mail From: Daniel Pitts User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 Newsgroups: comp.lang.java.programmer Subject: Re: Unicode escapes and String literals? References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Lines: 31 Message-ID: X-Complaints-To: abuse@newsrazor.net NNTP-Posting-Date: Thu, 13 Dec 2012 19:49:31 UTC Date: Thu, 13 Dec 2012 11:49:31 -0800 X-Received-Bytes: 2065 Xref: csiph.com comp.lang.java.programmer:20299 On 12/13/12 11:46 AM, Daniel Pitts wrote: > On 12/13/12 9:31 AM, Knute Johnson wrote: >> I just had a great revelation as I was putting together my SSCCE for the >> question I was going to ask. So it has changed my question. How do I >> do the conversion of unicode escape sequences to a String that are done >> by string literals? >> >> String s = "\u0066\u0065\u0064"; >> >> becomes "fed" but if you create a String with \u0066\u0065\u0064 in it >> without using the literal it stays \u0066\u0065\u0064. Is there a built >> in mechanism in Java for doing that translation to a String? >> > > Do you mean, you have a String, whose value is "\\u0066\\u0065\\u0064", > you want to pass that String to a method which will return fed. > > meaning > > String foo = "\\u0066\\u0065\\u0064"; > > System.out.println(foo); // prints \u0066\u0065\u0064 > System.out.println(magicFunction(foo)); // prints fed > > There might be such a function in Apache Commons library, but I don't > think there is one in the standard API. I could be wrong though. Two minutes of googling and reading a stack-overflow post gave me this link: