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

熱點內容
android天氣apijson 瀏覽:982
為什麼創建id會出現伺服器錯誤 瀏覽:835
代碼中有不必編譯的單詞嗎 瀏覽:563
鉤子與資料庫編程 瀏覽:563
安卓光遇錄歌怎麼設置 瀏覽:485
虛擬機怎麼和雲伺服器搭建集群 瀏覽:896
python倒計時代碼turtle 瀏覽:491
cad命令mv 瀏覽:928
nexus7一代androidl 瀏覽:306
linux使用靜態庫編譯過程 瀏覽:103
android平滑滾動效果 瀏覽:841
什麼是編譯器指令 瀏覽:219
微控制器邏輯命令使用什麼匯流排 瀏覽:887
程序員在學校里是學什麼的 瀏覽:605
oraclejava數據類型 瀏覽:890
程序員考注冊會計師 瀏覽:957
怎麼使用access的命令按鈕 瀏覽:899
有點錢app在哪裡下載 瀏覽:832
博途v15解壓後無法安裝 瀏覽:205
什麼是根伺服器主機 瀏覽:438