导航:首页 > 编程语言 > java如何把空格转为10进制数

java如何把空格转为10进制数

发布时间:2025-10-02 19:13:07

『壹』 java有关unicode与十进制数字的转换

1、unicode编码规则

unicode码对每一个字符用4位16进制数表示。具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数,
如果转化的16进制数的长度不足2位,则在其后补0,然后将高、低8位转成的16进制字符串拼接起来并在前面补上"\u" 即可。

2、转码程序

1)字符串转unicode

/**
* 将字符串转成unicode
* @param str 待转字符串
* @return unicode字符串
*/
public String convert(String str)
{
str = (str == null ? "" : str);
String tmp;
StringBuffer sb = new StringBuffer(1000);
char c;
int i, j;
sb.setLength(0);
for (i = 0; i < str.length(); i++)
{
c = str.charAt(i);
sb.append("\\u");
j = (c >>>8); //取出高8位
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
sb.append("0");
sb.append(tmp);
j = (c & 0xFF); //取出低8位
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
sb.append("0");
sb.append(tmp);

}
return (new String(sb));
}

2)unicode转成字符串,与上述过程反向操作即可
/**
* 将unicode 字符串
* @param str 待转字符串
* @return 普通字符串
*/
public String revert(String str)
{
str = (str == null ? "" : str);
if (str.indexOf("\\u") == -1)//如果不是unicode码则原样返回
return str;

StringBuffer sb = new StringBuffer(1000);

for (int i = 0; i < str.length() - 6;)
{
String strTemp = str.substring(i, i + 6);
String value = strTemp.substring(2);
int c = 0;
for (int j = 0; j < value.length(); j++)
{
char tempChar = value.charAt(j);
int t = 0;
switch (tempChar)
{
case 'a':
t = 10;
break;
case 'b':
t = 11;
break;
case 'c':
t = 12;
break;
case 'd':
t = 13;
break;
case 'e':
t = 14;
break;
case 'f':
t = 15;
break;
default:
t = tempChar - 48;
break;
}

c += t * ((int) Math.pow(16, (value.length() - j - 1)));
}
sb.append((char) c);
i = i + 6;
}
return sb.toString();
}

『贰』 java实现:整数进制相互转换

java实现:整数进制相互转换的方法:

  1. 十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法

    (1)十进制转为二进制: Integer.toBinaryString(int i);

    public static String toBinaryString(inti):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

    (2)十进制转为8进制 :Integer.toOctalString(int i);
    public static String toOctalString(inti):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

    (3)十进制转为16进制: Integer.toHexString(int i);

    public static String toHexString(inti):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

举例:

Stringbin=Integer.toBinaryString(10);
Stringoct=Integer.toOctalString(10);
Stringhex=Integer.toHexString(10);

2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。

Integer.parseInt(String s,int radix);

public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;

Integer.valueOf(String s,int radix);

public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

举例:

try{
inti=Integer.parseInt("a",16);
//输出为10进制数10
System.out.println(i);
}catch(Exceptione){
e.printStackTrace();
}
try{
//十六进制转成十进制
Stringhex=Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八进制转成十进制
Stringoct=Integer.valueOf("12",8).toString();
System.out.println(oct);
//二进制转十进制
Stringbin=Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch(Exceptione){
e.printStackTrace();
}

『叁』 JAVA编程:将输入的16进制数字串转为10进制数并输出。

在main方法中直接调用即可,代码如下:

publicstaticvoidmain(String[]args){
HexToDec("1e6f");
}

/**
*将十六进制的字符串转化为十进制的数值
*/
publicstaticlongHexToDec(StringhexStr){
Map<String,Integer>hexMap=prepareDate();//先准备对应关系数据
intlength=hexStr.length();
longresult=0L;//保存最终的结果
for(inti=0;i<length;i++){
result+=hexMap.get(hexStr.subSequence(i,i+1))*Math.pow(16,length-1-i);
}
System.out.println("hexStr="+hexStr+",result="+result);
returnresult;
}

/**
*准备十六进制字符对应关系。如("1",1)...("A",10),("B",11)
亩毁嫌*/
privatestaticHashMap<String,Integer>prepareDate(){
HashMap<String,Integer>hashMap=newHashMap<String,Integer>();
for(inti=1;余宽i<=9;i++){
hashMap.put(i+"",i);
}
hashMap.put("a",10);
hashMap.put("迅手b",11);
hashMap.put("c",12);
hashMap.put("d",13);
hashMap.put("e",14);
hashMap.put("f",15);
returnhashMap;
}
阅读全文

与java如何把空格转为10进制数相关的资料

热点内容
有多功能的文件夹图片 浏览:339
ai文件如何保存成word 浏览:874
怎么做沟通交流app 浏览:979
铁通网络号码 浏览:705
微信改密码逻辑错误 浏览:968
想从事编程需要什么学历 浏览:103
埃微最新版本 浏览:24
什么负责国家数据安全工作 浏览:469
1password4破解 浏览:277
pdf接收不了文件 浏览:300
白日门裂神符升级 浏览:175
java如何把空格转为10进制数 浏览:892
明小子教程 浏览:654
电脑资源管理器打开文件 浏览:245
视频镜像文件需要解压吗 浏览:125
品胜数据线哪个品牌好 浏览:591
qq截全屏后存在哪个文件夹 浏览:720
如何更改桌面文件夹图标 浏览:389
pdf文件怎么打开乱码 浏览:992
jsp里加注释 浏览:312

友情链接