public static final String escape(String str) {
		StringBuilder sb = new StringBuilder();
		sb.append(CHAR_DQUOTE);
		for (int i = 0, n = str.length(); i < n; ++i) {
			char ch = str.charAt(i);
			if (ch == CHAR_DQUOTE || ch == CHAR_BACKSLASH) { // || ch == '/') {
				sb.append(CHAR_BACKSLASH);
				sb.append(ch);
			} else if (ch == CHAR_BS)
				sb.append(CHAR_BACKSLASH + "b");
			else if (ch == CHAR_FF)
				sb.append(CHAR_BACKSLASH + "f");
			else if (ch == CHAR_LF)
				sb.append(CHAR_BACKSLASH + "n");
			else if (ch == CHAR_CR)
				sb.append(CHAR_BACKSLASH + "r");
			else if (ch == CHAR_TAB)
				sb.append(CHAR_BACKSLASH + "t");
			else
				sb.append(ch);
		}
		sb.append(CHAR_DQUOTE);
		return sb.toString();
	}