Here you can find the source of unescape(String text)
public static String unescape(String text)
//package com.java2s; /*// ww w. j a v a 2 s.c om * (c) Copyright 2007-2012 by Volker Bergmann. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, is permitted under the terms of the * GNU General Public License. * * For redistributing this software or a derivative work under a license other * than the GPL-compatible Free Software License as defined by the Free * Software Foundation or approved by OSI, you must first obtain a commercial * license to this software product from Volker Bergmann. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * WITHOUT A WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS, * REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE * HEREBY EXCLUDED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ public class Main { /** Bell character (BEL, 0x07) */ public static final String BEL = String.valueOf((char) 7); /** Backspace character (BS, 0x08) */ public static final String BS = String.valueOf((char) 8); /** Horizontal Tab character (HT, 0x09) */ public static final String HT = String.valueOf('\t'); /** Line Feed character (LF, 0x0A) */ public static final String LF = String.valueOf('\n'); /** character (FF, 0x0C) */ public static final String FF = String.valueOf('\f'); /** character (CR, 0x0D) */ public static final String CR = String.valueOf('\r'); /** * @see "http://en.wikipedia.org/wiki/ASCII" */ public static String unescape(String text) { if (text == null) return null; StringBuilder builder = new StringBuilder(text.length()); for (int i = 0; i < text.length(); i++) { char c = text.charAt(i); if (c != '\\') builder.append(c); else if (i < text.length() - 1) { c = text.charAt(++i); switch (c) { case '\'': builder.append('\''); break; case '"': builder.append('"'); break; case '{': builder.append('{'); break; case '}': builder.append('}'); break; case 'a': builder.append(BEL); break; case 'b': builder.append(BS); break; case 'r': builder.append(CR); break; case 'n': builder.append(LF); break; case 't': builder.append(HT); break; case 'f': builder.append(FF); break; case 'u': long n = Long.parseLong(text.substring(i + 1, i + 5), 16); builder.append((char) n); i += 4; break; default: builder.append(c); break; } } else builder.append('\\'); } return builder.toString(); } }