導航:首頁 > 編程語言 > 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進制數相關的資料

熱點內容
怎麼做溝通交流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
我想學習西門子plc編程該如何入門 瀏覽:848
ps的顏色配置文件選哪個 瀏覽:323

友情鏈接