導航:首頁 > 編程語言 > java二進制byte數組

java二進制byte數組

發布時間:2023-09-11 02:35:06

java將二進制讀入位元組數組中,然後將倆個位元組一起轉化為十進制

我給你一種方法:
你把字母分別用空格「
」隔開輸入,那麼接收到的字元串就為:"a
b
c
d....."
示例:
public
class
splitdemo
{
public
static
string[]
ss
=
new
string[26];
public
splitdemo()
{
string
s
="a
b
c
d.....";
//此處應為鍵盤接收
//
在每個空格字元處進行分解。
ss
=
s.split("
");
}

㈡ java 16進制字元串轉為二進制bit數組

應該用byte型數組
public static String stringToHexString(String strPart) {
String hexString = "";
for (int i = 0; i < strPart.length(); i++) {
int ch = (int) strPart.charAt(i);
String strHex = Integer.toHexString(ch);
hexString = hexString + strHex;
}
return hexString;
}

private static String hexString="0123456789ABCDEF";
/*
* 將字元串編碼成16進制數字,適用於所有字元(包括中文)
*/
public static String encode(String str)
{
// 根據默認編碼獲取位元組數組
byte[] bytes=str.getBytes();
StringBuilder sb=new StringBuilder(bytes.length*2);
// 將位元組數組中每個位元組拆解成2位16進制整數
for(int i=0;i<bytes.length;i++)
{
sb.append(hexString.charAt((bytes[i]&0xf0)>>4));
sb.append(hexString.charAt((bytes[i]&0x0f)>>0));
}
return sb.toString();
}

/*
* 將16進制數字解碼成字元串,適用於所有字元(包括中文)
*/
public static String decode(String bytes)
{
ByteArrayOutputStream baos=new ByteArrayOutputStream(bytes.length()/2);
// 將每2位16進制整數組裝成一個位元組
for(int i=0;i<bytes.length();i+=2)
baos.write((hexString.indexOf(bytes.charAt(i))<<4 |hexString.indexOf(bytes.charAt(i+1))));
return new String(baos.toByteArray());
}

private 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;

public static byte[] HexString2Bytes(String src)
{
byte[] ret = new byte[6];
byte[] tmp = src.getBytes();
for(int i=0; i<6; ++i )
{
ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);
}
return ret;
}

㈢ 在java中怎麼把位元組數組轉換成二進制字元串

可以使用Integer類的toBinaryString方法,例如:

bytea=0x45;
StringbinStr=Integer.toBinaryString(a).

API中toBinaryString的解釋:

toBinaryString

public static String toBinaryString(inti)

以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。

如果參數為負,該無符號整數值為參數加上 232;否則等於該參數。將該值轉換為二進制(基數 2)形式的無前導0的 ASCII 數字字元串。如果無符號數的大小為零,則用一個零字元'0'(』u0030』) 表示它;否則,無符號數大小的表示形式中的第一個字元將不是零字元。字元'0'('u0030') 和'1'('u0031') 被用作二進制數字。


參數:

i- 要轉換為字元串的整數。

返回:

用二進制(基數 2)參數表示的無符號整數值的字元串表示形式。

從以下版本開始:

JDK1.0.2

㈣ JAVA中怎麼將int數據轉換為byte數據

JAVA中根據以下代碼將int數據轉換為byte數據:

public static byte[] int32ToBytes(int val) {

int size = Integer.SIZE / Byte.SIZE;

byte[] ret = new byte[size];

for (int i = 0; i < size; ++i) {

ret[i] = (byte) (val << (8 * i) >> 56);

}

return ret;

}

(4)java二進制byte數組擴展閱讀

Java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。

byte,即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。在計算機中,8位帶符號二進制數的取值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。

運算規則:

####正數的最高位都是 0 ,正數的值就是二進製表示的值。 ####

####負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到得值。 ####

㈤ Java如何自定義的byte[]數組寫入文件

FileOutputStream.write(byte[] bytes)寫入文件的是二進制碼,你寫入二進制1和0是不可見字元,必須用二進制/16進制文件格式打開才可以看到,

㈥ 在java中怎麼把二進制的字元串轉換成位元組數組,轉換後位元組數組不是二進制哈

Integer i = Integer.valueOf(binaryString, 2); //binaryString為二進制字元串
byte[] b = i.toString().getByte();

㈦ java怎麼把一個byte變數按二進制輸出

/**
* 將byte轉換為一個長度為8的byte數組,數組每個值代表bit
*/
public static byte[] getBooleanArray(byte b) {
byte[] array = new byte[8];
for (int i = 7; i >= 0; i--) {
array[i] = (byte)(b & 1);
b = (byte) (b >> 1);
}
return array;
}
/**
* 把byte轉為字元串的bit
*/
public static String byteToBit(byte b) {
return ""
+ (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)
+ (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)
+ (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)
+ (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);
}

使用:
byte b = 0x35; // 0011 0101
// 輸出 [0, 0, 1, 1, 0, 1, 0, 1]
System.out.println(Arrays.toString(getBooleanArray(b)));
// 輸出 00110101
System.out.println(byteToBit(b));
// JDK自帶的方法,會忽略前面的 0
System.out.println(Integer.toBinaryString(0x35));

閱讀全文

與java二進制byte數組相關的資料

熱點內容
圖解政治pdf 瀏覽:162
自製可編程計算機 瀏覽:132
每個文件夾放入一張圖片 瀏覽:453
cgzip壓縮文件夾 瀏覽:591
如何找下載的app 瀏覽:470
程序員之死最新進展 瀏覽:261
台電u盤可以下載加密嗎 瀏覽:697
java培訓機構上海 瀏覽:616
長城伺服器怎麼裝機 瀏覽:355
pm和hm哪個軟體編程好 瀏覽:205
咋樣把文件夾強力去除 瀏覽:989
jvmgc演算法 瀏覽:599
我的世界怎樣控制命令方塊發文字 瀏覽:863
期貨翻番計演算法 瀏覽:495
華為底部app如何增加 瀏覽:115
為什麼用了幾個星期的安卓充電器就壞了 瀏覽:358
伺服器風扇響怎麼回事 瀏覽:16
django打包編譯 瀏覽:196
u盤加密碼視頻 瀏覽:165
cmake創建文件夾 瀏覽:935