X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FStringUtil.java;h=ee6d486a764f1dd2fc6d239d02387b782ab0bbb8;hp=d8de66d0ea26b8e55c5025c70f3958cb9d936b8c;hb=f069d11a0bc59d63b078df8a4aa488498c4e9cc2;hpb=3784457891d6a8b17429a16493cd65501e02e174 diff --git a/src/edu/berkeley/sbp/util/StringUtil.java b/src/edu/berkeley/sbp/util/StringUtil.java index d8de66d..ee6d486 100644 --- a/src/edu/berkeley/sbp/util/StringUtil.java +++ b/src/edu/berkeley/sbp/util/StringUtil.java @@ -1,3 +1,5 @@ +// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license + package edu.berkeley.sbp.util; /** miscellaneous string utilities */ @@ -25,6 +27,7 @@ public class StringUtil { case '\'': sb.append("\\\'"); break; case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; + case '\t': sb.append("\\t"); break; default: sb.append(c); break; } } @@ -40,6 +43,7 @@ public class StringUtil { switch(c) { case 'r': c = '\r'; break; case 'n': c = '\n'; break; + case 't': c = '\t'; break; default: break; } } @@ -53,7 +57,7 @@ public class StringUtil { case '}': sb.append("\\}"); break; case ':': sb.append("\\:"); break; */ - public static String escapify(String s) { return escapify(s, "\\\n\r"); } + public static String escapify(String s) { return escapify(s, "\\\n\r\t"); } public static String escapify(String s, String illegal) { if (s==null) return null; StringBuffer sb = new StringBuffer(); @@ -63,9 +67,14 @@ public class StringUtil { switch(c) { case '\n': sb.append("\\n"); continue; case '\r': sb.append("\\r"); continue; + case '\t': sb.append("\\t"); continue; default: sb.append('\\'); break; } - sb.append(c); + else if (c < 32 || c >= 127) { + sb.append("\\x"+((int)c)); + } else { + sb.append(c); + } } return sb.toString(); }