如一个字符串是44414B4A3133363344313336335320676D4F33534C6675504C7544504456714264625852594B6343566961436E635547566146573069705A3079,是用ASCII编码的
解决方案 »
- spring security3 登录的时候为什么会触发sessionDestroyed
- jsp页面导出成word文档
- 如何取消GLASSFISH的开机启动
- 有关整合struts2 spring hibernate freemarker的好书
- 通过Hibernate DetachedCriteria 获取对象,仅仅取出部分属性如何做呢
- 继承在hibernate中的实现,如何用criteria检索每个子类里相同的字段?
- 谁能推荐个 JAVA 报表图表生成的三放工具 图表要漂亮的
- spring 配置连接池
- 简单问题,请进..
- 谢谢刚才答复java数据同步的兄台,这里加分了
- Swing分页组件该怎么写? 100分
- 急!!!电子期刊如何实现
try {
String str = "44414B4A3133363344313336335320676D4F33534C6675504C7544504456714264625852594B6343566961436E635547566146";
System.out.println(new String(str.getBytes("ASCII"), "GBK"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}这个不知道符合要求不?
public static String unPack(String a) {
String un = new String("");
char[] cc = a.toCharArray();
for (int i = 0; i < (int)(cc.length/2); i++) {
un+= (char)(t2s(cc[i*2])*16+t2s(cc[i*2+1]));
}
return un;
} public static int t2s(char a){
char[] s={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
for (int i = 0; i < s.length; i++) {
if(a==s[i]){
return i;
}
}
return 0;
} public static void main(String[] args) {
System.out.print(unPack("44414B4A3133363344313336335320676D4F33534C6675504C7544504456714264625852594B6343566961436E635547566146573069705A3079"));
}结果:DAKJ1363D1363S gmO3SLfuPLuDPDVqBdbXRYKcCViaCncUGVaFW0ipZ0y
每两个截取,转成整形,赋值到字节数组中,再构造字符串(指定不同的编码)看看。
哎,是你没明白我的意思,我要的不是把这个字符串转换成Ascii编码,是说这个字符串已经是Ascii编码的形式了
但在java里,String类是按照unicode进行编码的。所以虽然你所见是那样,但构造一个String对象后,并不是ASCII码的原始字符串了。