首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java反斜杠+数字转义有关问题

2011-12-08 
java反斜杠+数字转义问题我用java写一个请求DNS的程序,DNS返回的数据中包含有字符 \ ,比如DNS的返回结果应

java反斜杠+数字转义问题
我用java写一个请求DNS的程序,DNS返回的数据中包含有字符 \ ,比如DNS的返回结果应该是“\2.\1.domain.com”,我用一个String变量接收这个返回结果,结果\2和\1被转义成某些无法显示的字符了,无法正确显示\2.\1.domain.com,有什么办法可以解决这个问题吗?

[解决办法]
把java文件里的"\"改成"\\"试试
[解决办法]
\\ 代表 \ 双反斜杠就行了
[解决办法]
LZ确信是发生转义的问题吗?
按正常的字符串解析,java内部会把\变成\\转义的
比如你在网页上输入一个\,java端获得的就是"\\",不可能只获得一个"\"(这样是非法字符串,通不过的),所以估计问题不在这里,看LZ的输出结果,好像是编码不对造成的
记得有人发过帖子说java通信时接收端多了几个非法字符的问题(\ufffd之类的),LZ可以搜索一下看看
[解决办法]
楼主认真考虑六楼的建议,我也同意六楼的建议
[解决办法]

Java code
public static void main(String... aArgs) throws IOException{            String s = "\2.\1.domain.com";          System.out.println(filterCtrlChars(s));        }  public static String filterCtrlChars(String source){      StringBuffer sf = new StringBuffer();      for (char c : source.toCharArray()){          if (Character.isISOControl(c)){              sf.append("\\")                    .append(Integer.toOctalString(c));                 }else{              sf.append(c);          }      }      return sf.toString();  }
[解决办法]
探讨
能不能用replace?

[解决办法]
一般都是用\\,更保险

热点排行