delphi 字符转换
2017-02-21 15:07 绿贝 阅读(779) 评论(0) 编辑 收藏 举报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
返回结果是:电子票查询条件