當前位置:首頁 » 編程語言 » getbytesjava

getbytesjava

發布時間: 2022-08-15 20:23:23

1. java中String對象的getBytes方法是干什麼的

都是將一個string類型的字元串轉換成byte類型並且存入一個byte數組中。
在java中的所有數據底層都是位元組,位元組數據可以存入到byte數組。
存儲字元數據時(字元串就是字元數據),會先進行查表,然後將查詢的結果寫入設備,讀取時也是先查表,把查到的內容列印到顯示設備上
getBytes()是使用默認的字元集進行轉換,getBytes(「utf-8」)是使用UTF-8編碼表進行轉換。

2. java的getBytes()方法的參數有哪些,全一點。可以的話給點解釋》》》

這個api里都有
1 byte[] getBytes()
使用平台的默認字元集將此 String 編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。
2 byte[] getBytes(Charset charset)
使用給定的 charset 將此 String 編碼到 byte 序列,並將結果存儲到新的 byte 數組。
3 void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
已過時。 該方法無法將字元正確轉換為位元組。從 JDK 1.1 起,完成該轉換的首選方法是通過 getBytes() 方法,該方法使用平台的默認字元集。
4 byte[] getBytes(String charsetName)
使用指定的字元集將此 String 編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。

3. java兩次調用getBytes函數結果不同

這個方法是 java.io.DataOutput 介面中的一個方法。

下面是 JDK1.5 中的參考:

java.io
介面 DataOutput

所有已知子介面:

ImageOutputStream, ObjectOutput

所有已知實現類:

DataOutputStream, FileCacheImageOutputStream, FileImageOutputStream, ImageOutputStreamImpl, MemoryCacheImageOutputStream, ObjectOutputStream, RandomAccessFile

public interface DataOutput

DataOutput 介面用於將任意 Java 基本類型轉換為一系列位元組,並將這些位元組寫入二進制流。同時還提供了一個將 String 轉換成 UTF-8 修改版格式並寫入所得到的系列位元組的工具。

再看 writeInt() 方法的說明:

writeIntvoid writeInt(int v) throws IOException

將一個 int 值寫入輸出流,該值由四個位元組組成。要寫入的位元組值(按順序顯示)是:

(byte)(0xff & (v >> 24))

(byte)(0xff & (v >> 16))

(byte)(0xff & (v >> 8))

(byte)(0xff & v)

此方法寫入的位元組可由 DataInput 介面的 readInt 方法讀取,然後該方法將返回一個等於 v 的 int 值。

參數:

v - 要寫入的 int 值。

根據以上說明,這個方法用於把一個 整型數據 轉換成 4 個位元組的 byte ,然後寫入二進制流。如果寫入文件的話,那這個文件是二進制文件,而不是文本文件。

在使用的時候,如果使用了 writeInt() 這類方法(writeDouble,writeFloat等),那麼在讀取的時候,必須使用實現了 DataInput 介面的輸入流讀取。而且要按照寫入的順序讀取:例:

package com.test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;

public class DataStream {
public static void main(String[] args) {
try{
//下面是輸出, 這里只是輸出到內存
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(bos));
dos.writeInt(22);
dos.writeDouble(33.33);
dos.writeLong(33l);
dos.writeBoolean(true);
dos.writeChar('a');
dos.writeByte(33);
dos.writeFloat(44.4f);
dos.flush();

//下面是輸入, 這里也只是從內存輸入
DataInputStream dis = new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(bos.toByteArray())));
System.out.println(dis.readInt());
System.out.println(dis.readDouble());
System.out.println(dis.readLong());
System.out.println(dis.readBoolean());
System.out.println(dis.readChar());
System.out.println(dis.readByte());
System.out.println(dis.readFloat());

dis.close();
bos.close();

}catch(Exception e){

}

}

}

上面程序最後的列印語句,你可以調換順序,結果應該會與你寫入的不一樣,也就是會造成讀取錯誤,因些讀取順序要和寫入的一樣。

4. javaweb中getBytes()作用是什麼

public byte[] getBytes()

使用平台的默認字元集將此
String 編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。

當此字元串不能使用默認的字元集編碼時,此方法的行為沒有指定。如果需要對編碼過程進行更多控制,則應該使用 CharsetEncoder 類。
返回:
所得 byte 數組
從以下版本開始:
JDK1.1

5. java中String.getBytes()的用法

str.getBytes() 返回一個位元組數組

調用一次返回的都是一個新的數組對像, 你列印的是對象引用的哈希碼(不是對像裡面的內容),肯定是不一樣的(因為每次返回都是一個新的變數).他們的內容是一樣的.

6. java中String的對象getBytes有什麼作用

都是將一個string類型的字元串轉換成byte類型並且存入一個byte數組中。
在java中的所有數據底層都是位元組,位元組數據可以存入到byte數組。
存儲字元數據時(字元串就是字元數據),會先進行查表,然後將查詢的結果寫入設備,讀取時也是先查表,把查到的內容列印到顯示設備上
getBytes()是使用默認的字元集進行轉換,getBytes(「utf-8」)是使用UTF-8編碼表進行轉換。

7. 在java中getBytes()是干嗎用的

都是將一個string類型的字元串轉換成byte類型並且存入一個byte數組中。
在java中的所有數據底層都是位元組,位元組數據可以存入到byte數組。
存儲字元數據時(字元串就是字元數據),會先進行查表,然後將查詢的結果寫入設備,讀取時也是先查表,把查到的內容列印到顯示設備上
getbytes()是使用默認的字元集進行轉換,getbytes(「utf-8」)是使用utf-8編碼表進行轉換。

熱點內容
全款未解壓是咋回事 發布:2022-09-27 15:04:33 瀏覽:421
我的世界電腦啟動器基岩版伺服器 發布:2022-09-27 15:04:29 瀏覽:608
流感C語言 發布:2022-09-27 15:03:15 瀏覽:863
電信寬頻在哪裡改密碼 發布:2022-09-27 15:02:06 瀏覽:900
linux禁止root 發布:2022-09-27 15:01:59 瀏覽:52
如何更改文件夾許可權 發布:2022-09-27 14:57:33 瀏覽:28
創建資料庫sql 發布:2022-09-27 14:57:25 瀏覽:350
清oracle緩存 發布:2022-09-27 14:54:41 瀏覽:460
移動loid密碼是多少 發布:2022-09-27 14:53:16 瀏覽:232
oracle資料庫原理 發布:2022-09-27 14:53:09 瀏覽:244