java怎么把java将字符转换成数字字???

java字符串与二进制的相互转化 -
- ITeye博客
博客分类:
java字符串与二进制的相互转化
&&
在调试短信接口时,遇到的问题是:在短信内容输入中文时,就不能执行过,发现是编码的问题,所以将字符串转换成了二进制编码的字符串。
public class StrBinaryTurn {
//将Unicode字符串转换成bool型数组
public boolean[] StrToBool(String input){
boolean[] output=Binstr16ToBool(BinstrToBinstr16(StrToBinstr(input)));
}
//将bool型数组转换成Unicode字符串
public String BoolToStr(boolean[] input){
String output=BinstrToStr(Binstr16ToBinstr(BoolToBinstr16(input)));
}
//将字符串转换成二进制字符串,以空格相隔
private String StrToBinstr(String str) {
char[] strChar=str.toCharArray();---?以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
String result="";
for(int i=0;i&strChar.i++){
result +=Integer.toBinaryString(strChar[i])+ " ";
}
}
//将二进制字符串转换成Unicode字符串
private String BinstrToStr(String binStr) {
String[] tempStr=StrToStrArray(binStr);
char[] tempChar=new char[tempStr.length];
for(int i=0;i&tempStr.i++) {
tempChar[i]=BinstrToChar(tempStr[i]);
}
return String.valueOf(tempChar);
}
//将二进制字符串格式化成全16位带空格的Binstr
private String BinstrToBinstr16(String input){
StringBuffer output=new StringBuffer();
String[] tempStr=StrToStrArray(input);
for(int i=0;i&tempStr.i++){
for(int j=16-tempStr[i].length();j&0;j--)
output.append('0');
output.append(tempStr[i]+" ");
}
return output.toString();
}
//将全16位带空格的Binstr转化成去0前缀的带空格Binstr
private String Binstr16ToBinstr(String input){
StringBuffer output=new StringBuffer();
String[] tempStr=StrToStrArray(input);
for(int i=0;i&tempStr.i++){
for(int j=0;j&16;j++){
if(tempStr[i].charAt(j)=='1'){
output.append(tempStr[i].substring(j)+" ");
}
if(j==15&&tempStr[i].charAt(j)=='0')
output.append("0"+" ");
}
}
return output.toString();
}
//二进制字串转化为boolean型数组 输入16位有空格的Binstr
private boolean[] Binstr16ToBool(String input){
String[] tempStr=StrToStrArray(input);
boolean[] output=new boolean[tempStr.length*16];
for(int i=0,j=0;i&input.length();i++,j++)
if(input.charAt(i)=='1')
output[j]=
else if(input.charAt(i)=='0')
output[j]=
else
j--;
}
//boolean型数组转化为二进制字串 返回带0前缀16位有空格的Binstr
private String BoolToBinstr16(boolean[] input){
StringBuffer output=new StringBuffer();
for(int i=0;i&input.i++){
if(input[i])
output.append('1');
else
output.append('0');
if((i+1)%16==0)
output.append(' ');
}
output.append(' ');
return output.toString();
}
//将二进制字符串转换为char
private char BinstrToChar(String binStr){
int[] temp=BinstrToIntArray(binStr);
int sum=0;
for(int i=0; i&temp.i++){
sum +=temp[temp.length-1-i]&&i;
}
return (char)
}
//将初始二进制字符串转换成字符串数组,以空格相隔
private String[] StrToStrArray(String str) {
return str.split(" ");
}
//将二进制字符串转换成int数组
private int[] BinstrToIntArray(String binStr) {
char[] temp=binStr.toCharArray();
int[] result=new int[temp.length];
for(int i=0;i&temp.i++) {
result[i]=temp[i]-48;
}
浏览 16406
浏览: 365653 次
update t_h5activity_pagedata
一看 tps为168k次/秒 ,我就觉得不专业了 。请把完整的 ...java 字符串转换为整数型时出错
大家好,我在处理类型转换时遇到了点问题。
我通过分析xml文件,提取了多个String类型的用户id号,例如&&,&&。我希望将字符串类型转换为整数型,于是使用Integer.parseInt()这个方法,编译后的结果却是有的id号能正确转换,有的却报错,提示错误为:For input string: &&,如下图所示。
请问这是什么情况呢?
也许你需要Long
超出int类型数据表示范围了,使用long类型吧
String iString = &&;
&&try { &&&Integer.parseInt(iString); &&} catch (Exception e) { &&&e.printStackTrace();// 这里会打印异常 &&} && &&try { &&&Long.parseLong(iString); &&} catch (Exception e) { &&&e.printStackTrace();// 这里不会执行到 &&}
&很明显的问题吧。
转为整型有啥好处? 难道你要用ID做计算?2011年9月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。首先你要确定你的字符串可以转换为int类型的,比如说:
String&s&=&"123";
如果String&s&=&"abc";则转换时会报错!
需要的包是&a href="/s?wd=java.lang&tn=_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3mWTznH6LnWm3PjRvn1bL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3En1mLrjDvPjmLPWTkrHmLPHcY" target="_blank" class="baidu-highlight"&java.lang&/a&.*;
但是这个包可以不用专门引入,系统会自动引入这个包,所以可以不写。
具体方法有两种:
String&s="123";
第一种方法:i=Integer.parseInt(s);
第二种方法:i=Integer.valueOf(s).intValue();
阅读(...) 评论()

我要回帖

更多关于 java字符串转换成数字 的文章

 

随机推荐