delphi经常可以看见#10,#12等,特别是在.dfm文件里面。
比如:EditLabel.Caption = #30005#23376#31080#26657#39564#30721#30005#23376#31080#26657#39564#30721
都知道这一长串带#的是某些字,但直接看dfm文件是看不出来的。
这里说一下#的意思。#在delphi里面表示10进制。然后delphi里面是采用的unicode编码。
那么#30005就好理解了,首先把30005转换成16进制成7535,然后加上u,变成u7535,然后在网上查unicode编码转换。查出来了吗? 是“电”这个字。
当然有更简单的方法:
如我写的这个方法。
public static String decode(String code){
String[] codeArray = code.split("#");
StringBuffer sb = new StringBuffer();
for(String c:codeArray){
if("".equals(c)){
continue;
}
sb.append((char)Integer.parseInt(c) );
}
return sb.toString();
}
比如这个#30005#23376#31080#26597#35810#26465#20214
返回结果是:电子票查询条件