Here you can find the source of textToRLiteral(String value)
public static String textToRLiteral(String value)
//package com.java2s; /*/*from w w w . j a v a2 s . c o m*/ * StringUtil.java * * Copyright (C) 2009-12 by RStudio, Inc. * * Unless you have received this program directly from RStudio pursuant * to the terms of a commercial license agreement with RStudio, then * this program is licensed to you under the terms of version 3 of the * GNU Affero General Public License. This program is distributed WITHOUT * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. * */ public class Main { public static String textToRLiteral(String value) { StringBuffer sb = new StringBuffer(); sb.append('"'); for (char c : value.toCharArray()) { switch (c) { case '"': sb.append("\\\""); break; case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; case '\t': sb.append("\\t"); break; case '\b': sb.append("\\b"); break; case '\f': sb.append("\\f"); break; case '\\': sb.append("\\\\"); break; default: if (c < 32 || c > 126) sb.append("\\x").append(toHex(c)); else sb.append(c); break; } } sb.append('"'); return sb.toString(); } private static String toHex(char c) { String table = "0123456789ABCDEF"; return table.charAt((c >> 8) & 0xF) + "" + table.charAt(c & 0xF); } }