作者hfnadkv (衝衝衝)
看板java
標題[問題] String Value out of range
時間Wed Dec 12 05:19:27 2007
經過tony大大的解答,問題大致解決
把字串轉為二進位的程式
public class metadata_encoder {
public static void main(String[] args) {
String result= new String();
String metadata="aa"; //a ascii: 97需接收到一堆字
for (int i=0;i<metadata.length();i++){
int ASCII = (int)metadata.charAt(i); //字元轉成ascii
result+=Integer.toString(ASCII,2); //將各ascii轉為2進位並連起來
}
System.out.println(result);
// System.out.println(Byte.parseByte(result,2)); 註解就好
}
預期結果
11000011100001
也就是想把二個或二個以上的字串ascii串起來
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.29.133
推 LPH66:呃 你要的效果是什麼? 12/12 05:52
→ LPH66:因為以這例子來說 110001110001這二進位值的確超過byte範圍 12/12 05:52
推 TonyQ:他想要 把 int兩個char的ascii轉成binary 12/12 05:55
→ TonyQ:後他應該是誤解了parseByte的用法...:P 12/12 05:55
※ 編輯: hfnadkv 來自: 134.208.29.133 (12/12 06:01)
※ 編輯: hfnadkv 來自: 134.208.29.133 (12/12 06:02)
※ 編輯: hfnadkv 來自: 134.208.29.133 (12/12 06:06)
推 TonyQ:System.out.println(Byte.parseByte(result,2)); <<多的 12/12 06:05
※ 編輯: hfnadkv 來自: 134.208.29.133 (12/12 07:24)