導航:首頁 > 編程語言 > java中的位和位元組數組中

java中的位和位元組數組中

發布時間:2023-05-09 16:02:49

java中的變數各佔得位元組數

boolen:1個位元組自
int:4個位元組
float:4個位元組
double:8個位元組
char:2個位元組
byte:1個位元組
short:2個位元組
long:8個位元組

(1)java中的位和位元組數組中擴展閱讀

Java8大基本數據類型

1,四種整數類型(byte、short、int、long):

byte:8 位,用於表示最小數據單位,如文件中數據,-128~127

short:16 位,很少用,-32768 ~ 32767

int:32 位、最常用,-2^31-1~2^31 (21 億)

2,兩種浮點數類型(float、double):

float:32 位,後綴 F 或 f,1 位符號位,8 位指數,23 位有效尾數。

double:64 位,最常用,後綴 D 或 d,1 位符號位,11 位指數,52 位有效尾。

3,一種字元類型(char):

char:16 位,是整數類型,用單引號括起來的 1 個字元(可以是一個中文字元),使用 Unicode 碼代表字元,0~2^16-1(65535)。

4,一種布爾類型(boolean):true真和false假

參考鏈接:網路JAVA

㈡ JAVA里16進制和位元組數組互轉

大括弧理的就是一個byte類型的數組,裡面是3個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 如何將整數轉成N個位元組,放入位元組數組中去

publicstaticbyte[]intToBytes(intnum){

byte[]b=new稿粗byte[4];

for(inti=0;i<4;i++){

b[i]=(byte)(num>>>(24-飢敬改i*8));

爛判}

returnb;

}

㈣ 誰能告訴我java中的位元組數組是什麼意思,怎麼用。

public class Test extends Thread {
public static void main(String[] args){
byte[] b=new byte[]{'a','b'};
System.out.println(new String(b));
}
}

位元組應用在io輸入輸出里比較多,文件回的讀寫,對象序答列化等等,位元組就8位列印出來的就ASCII碼里的基本字元,

㈤ java中字元與位元組和位的關系一個英文字母或數字占幾個位元組中文佔多少1kb代表的是什麼

1字元=2位元組滾察;1位元組段察=8位
英文和數字佔一個位元組
中文佔一個字元,也就是兩個字握備茄節
1k=2^10;b:位;B:位元組
1kb=1024 位
1kB=1024 位元組

㈥ java中String 數組和byte數組的區別,為什麼要互相轉換

一個byte表示一個位元組,8位的,整數范圍是-128-127.
***************************************************************
String轉化為byte:(這種情況很少)
任何以字元串的形式表示的數字組合,比如說「111」,十進製表示111,二進製表示7,等,轉化為byte都是合法的,但是如果以16進制來表示,「111」的十進制值是273,則超過-128-127的范圍了,所以被認為是非法轉換。
另外任何除了數字組合的字元串,比如說有字母「c」,想轉化為Byte都認為是非法的。
****************************************************************
byte[]轉化為String:(較常見)
由於byte數組存儲的是8位8位的位元組,所以轉化為String要具體看默認的字元編碼,比知攔如常見的宏猛銷ascii編碼,8個bit就可以轉化為一個位元組,10個大小的byte數組就可以轉化為長度為10的字元蔽游串

㈦ java 中關於byte數組的賦初值問題

byte short int long
這幾種類型都是java中的整數類型

你肯定對int比較了解,byte和int的區別是int是32位,byte是8位,表示的數字范圍為回:-128到+127
所以答
第一個byte中元素都沒超過范圍,都以數字顯示。第二個byte數組中的元素都是char類型,char類型是佔16位的,一般轉換為byte是由大到小,需要強制轉換,但這些char並沒有超出byte的范圍,所以不用
在列印時會將char元素轉換成對應的ascii碼,具體你可以去查
toString的確是輸出字母,但'a'是字元,不是字元串,兩個完全不同的概念

字元串+primitive類型就是轉換為字元型的最簡單方法,例:
4+"" 將數字4轉換為字元串4 現在的4不再是數字,而是字元串,懂?

㈧ 在java中操作 byte數組

沒有現成的 一般都是我們自己寫工具類 可以給你占幾個常用的方法:
public static int splitToArray(String[] strCompName, int count, int len, int amount, int repariFeeIndex, String strPrefix) throws Exception {
String [] strCompNameTemp ;
if(strCompName[count].length() > len) {
strCompNameTemp = splitToArray(strCompName, count, len, strPrefix);
for(int compIndex=0; compIndex<strCompNameTemp.length; compIndex++) {
if((repariFeeIndex + compIndex)>amount) {
break;
}
if(compIndex != 0) {
count++;
}
strCompName[count] = strCompNameTemp[compIndex];
}
} else if(count != 0){
strCompName[count] = strPrefix + strCompName[count];
}
return ++count;
}

㈨ Java中 「字元類型」與「位元組類型」的區別是什麼

byte位元組類型是JAVA中最小的數據類型,它在內存中佔8位,取值范圍從-128到127,

賦值:byte i = 127;註:byte型在賦值時,一旦超過127或小於-128,則會產生編譯錯誤。

char字元類型在內存中佔2個位元組。表示一個字元,也可以使用A SCII碼范圍內的值來給char型的變數賦值。由於字元在內存中的取值不存在負數范圍,所有取值范圍從0到655 35。

賦值:char i = 'a'; 或者 char i = 97;

註:在java中,字元的表現形式為單個字元加上一對單引號修飾。

首先得知道byte的概念和作用:

byte即位元組的意思,是java中的基本類型,用來申明位元組型的變數。

通常在讀取非文本文件時(如圖片,聲音,可執行文件)需要用位元組數組來保存文件的內容,在下載文件時,

也是用byte數組作臨時的緩沖器接收文件內容。所以說byte在文件操作時是必不可少的。不管是對文件寫入還是

讀取都要用到。byte在java中是一種是數據類型,代表一個位元組,一個位元組包含8個位,所以,byte類型的取值范

圍是-128到127。

在某些程序中(尤其是和硬體有關的程序)會將某些數據存儲到位元組類型的變數中,比如00110010,其中每個

位都代表一個參數,然後以位運算的方式對參數進行取值和賦值操作。

機器只知道位元組,而字元卻是語義上的單位,它是有編殲枝碼的,一個字元可能編碼成1個2個甚至3個4個位元組。這跟字

符集編碼有關系,英文字母和數字是單位元組氏判敏,但漢字這些自然語言中的字元是多位元組的。一個位元組只能表示255個字

符,不可能用於全球那麼多種自然語言的處理,因此肯定需要多位元組的存儲方式。而InputStream, OutputStream

它們是處理位元組流的,就是說假設所有東西都是二進制的位元組,沖液而 Reader, Writer 則是字元流,它涉及到字元集

的問題;按照ANSI編碼標准,標點符號、數字、大小寫字母都佔一個位元組,漢字佔2個位元組。按照UNICODE標准所有

字元都佔2個位元組。

㈩ java中位元組數組與字元數組用法有什麼區別

額 最基本的區別就是一個存儲位元組一個存儲字元啊
所以你只要搞清楚位元組和字元的區別就專好了
位元組屬(Byte):位元組是通過網路傳輸信息(或在硬碟或內存中存儲信息)的單位。位元組是計算機信息技術用於計量存儲容量和傳輸容量的一種計量單位,1個位元組等於8位二進制,它是一個8位的二進制數,是一個很具體的存儲空間。
字元:人們使用的記號,抽象意義上的一個符號。 '1', '中', 'a', '$', '¥', ……一個字元(1char = 2byte = 16bit)
詳情可以自己網路一下 位元組和字元的區別

閱讀全文

與java中的位和位元組數組中相關的資料

熱點內容
linux文件系統的結構 瀏覽:87
電腦里文件怎麼刪除文件夾在哪裡 瀏覽:876
1602顯示屏代碼 瀏覽:834
proface密碼 瀏覽:190
什麼app幫別人買感冒葯 瀏覽:365
華為終端客服微信 瀏覽:33
文件後面加內容應該怎麼取名 瀏覽:959
可以學會講白話的app有哪些 瀏覽:332
mysql資料庫navicat 瀏覽:246
word如何固定文本框 瀏覽:974
什麼文件轉換為pst 瀏覽:76
編程在哪裡好找工作 瀏覽:177
電腦圖標上有個文件 瀏覽:832
筆記本i5系統重裝教程 瀏覽:472
文件如何變白 瀏覽:679
長城c30加裝導航升級 瀏覽:648
壓縮包會改變文件內容么 瀏覽:548
45度面槽怎麼編程 瀏覽:742
蘋果6原裝充電器多大的 瀏覽:814
騰訊群文件 瀏覽:584

友情鏈接