2017-04-18 66 views
0

我想將串「12345」到的1 2 3 4字節對象數組和5轉號碼字符串轉換成單個字節的對象的Java

byte[] n1 = new byte[num.length()]; 
    for (int i = 0; i< num.length(); i++) { 
    n1[i] = (byte)num.charAt(i); 
    } 

它被轉動號寫入ASCII值(12345變成49 50 51 52 53) 我不想那樣。有什麼建議麼?

+1

偏移只是減去48中,n1 [I] =((字節)num.charAt(I)) - 48; – Shiping

+0

你確定你需要*使用'byte'數組嗎?他們笨拙的工作,並且比使用本地字大小('int' /'long')慢得多 – Alexander

回答

0

只要減去的'0'

import java.util.Arrays; 

class Main { 
    public static void main(String[] args) { 
     String s = "12345"; 

     byte[] digits = new byte[s.length()]; 
     for (int i = 0; i< s.length(); i++) { 
      digits[i] = (byte) (s.charAt(i) - '0'); 
     } 

     System.out.println(Arrays.toString(digits)); // [1, 2, 3, 4, 5] 
    } 
}