導航:首頁 > 編程語言 > java列印byte

java列印byte

發布時間:2022-10-09 19:50:53

java system.out.print(byte)輸出以int來輸出 java里的小於int 的類型都是以int 輸出嗎

不對,byte是一個位元組8位的二進制存儲(不超過256),在輸出時是十進制,所以感覺是int

② java byte數組 怎麼列印

java byte 數組,可以使用Array類提供的方法遍歷輸出列印,示例如下:

publicclassceshi{
publicstaticvoidmain(String[]args){

byte[]b=newbyte[12]('0x97','0x98');//byte數組
System.out.println(Arrays.toString(b));//位元組數組列印
}
}

輸出結果為:a,b

③ java我從一個文件獲取到了我想要的一個位元組數組裡面是16進制的2個數 4個位元組怎麼把它列印出來是和文件一

/**
* 將指定byte數組以16進制的形式列印到控制台
* @param hint String
* @param b byte[]
* @return void
*/
public static void printHexString(String hint, byte[] b) {
System.out.print(hint);
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
System.out.print(hex.toUpperCase() + " ");
}
System.out.println("");
}
/**
*
* @param b byte[]
* @return String
*/
public static String Bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret += hex.toUpperCase();
}
return ret;
}
/**
* 將兩個ASCII字元合成一個位元組;
* 如:"EF"--> 0xEF
* @param src0 byte
* @param src1 byte
* @return byte
*/
public static byte uniteBytes(byte src0, byte src1) {
byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue();
_b0 = (byte)(_b0 << 4);
byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();
byte ret = (byte)(_b0 ^ _b1);
return ret;
}
/**
* 將指定字元串src,以每兩個字元分割轉換為16進制形式
* 如:"2B44EFD9" --> byte[]{0x2B, 0x44, 0xEF, 0xD9}
* @param src String
* @return byte[]
*/
public static byte[] HexString2Bytes(String src){
byte[] ret = new byte[8];
byte[] tmp = src.getBytes();
for(int i=0; i<8; i++){
ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);
}
return ret;
}
詳細出處參考:http://www.jb51.net/article/18146.htm

④ JAVA中數值以二進制輸出BYTE類型的數值為什麼是四個位元組呢

String s=Integer.toBinaryString(b) ; //因這個是按整數來進行處理的,所以會是按四位元組輸出,需要處理一下
System.out.println( s.substring(s.length()-8) );

⑤ java 輸出byte[]出現亂碼

byte[] ba數組可以理解成是byte的類,ba的是個對象,10,50可以看出對象的二個成員變數,你要調用對象的某個成員變數,有對應的方法,那麼要訪問數組裡面的數據就要要用ba[i]這個方法才可以調用。ba在棧裡面存放的是hashcode碼,這個碼可以在堆內存裡面找到一塊空間,裡面存放這10和50這2個數,System.out.println(ba);這個句子只能輸出ba裡面存的hashcode碼,所以你只能得到[B@18a992f這個碼。

⑥ java把一個byte類型的數據的每一位都輸出怎麼做

//方法一
publicclassTest{
publicstaticvoidmain(String[]args){
bytea=123;
char[]arr=String.valueOf(a).toCharArray();
for(inti=0;i<arr.length;i++){
System.out.print(arr[i]+"");
}
}
}

//方法二
publicclassTest{

publicstaticvoidmain(String[]args){
bytea=123;
Stringstr=String.valueOf(a);
for(inti=0;i<str.length();i++){
System.out.print(str.substring(i,(i+1))+"");
}
}
}

//方法三
publicclassTest{

publicstaticvoidmain(String[]args){
bytea=123;
Byteb=newByte(a);
System.out.println(b.byteValue());
}
}

⑦ java如何得到列印出一個byte的二進制形式,toBinaryString()列印出來的是32位,怎麼列印出一個8位的

這個,你的數字占幾位,Integer.toBinaryString打出來就是幾位的啊,比如:
System.out.println(Integer.toBinaryString(10));
運行的結果就是:1010
只有4位的

⑧ java 的byte數組與漢字輸出

String在Java是字元數組,他的字元是使用Unicode字元來構建的。

String s=new String(byteArray);
是把數組byteArray[]的值初始化給了s,所以s是一個把byte類型的數據轉化為Unicode字元數組的字元串。

閱讀全文

與java列印byte相關的資料

熱點內容
阿里程序員績效錄入 瀏覽:382
eb蜜罐原理及源碼 瀏覽:803
命令界面怎麼調大小 瀏覽:890
公共測試伺服器做什麼的 瀏覽:746
湖南網路伺服器雲空間 瀏覽:365
做博客需要什麼app 瀏覽:548
查看網站編程語言 瀏覽:302
我的世界伺服器的密碼怎麼弄 瀏覽:644
電腦文件夾如何傳輸視頻不壓縮 瀏覽:145
安卓對單片機編程 瀏覽:728
被加密的txt 瀏覽:927
單片機匯編調用子程序 瀏覽:253
小米定位伺服器地址 瀏覽:612
有什麼好的學畫app 瀏覽:882
5線4相步進電機單片機控制 瀏覽:293
linux重啟php命令行 瀏覽:999
加密軟體gif 瀏覽:761
取字元串的前幾位java 瀏覽:312
車銑復合雕花編程教學 瀏覽:904
android圖片等比例縮放 瀏覽:355