導航:首頁 > 編程語言 > char轉byte數組java

char轉byte數組java

發布時間:2023-01-03 12:25:58

1. java裡面的char和byte怎麼轉換

java中,char轉化為byte的話,可以用參考如下方法:
String s=new String("1");
byte[] b=new byte[1];
b[0] = Byte.parseByte(""+s.charAt(0));
System.out.println(b[0]);
結果為:1,而不是ascii碼的值了。

2. java 中各種數據類型轉換byte[]的方法

ObjectOutputStream oos = null;//對象輸出流
ByteArrayOutputStream baos = null;//byte數組輸出流
ByteArrayInputStream s = null;//對象輸入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//將數組流傳入對象流
oos.writeObject(new Integer(1));//用對象流讀取對象。
byte[] bytes = baos.toByteArray();//用數組流將傳入的對象轉化為byte數組
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {

}以上是把integer類型轉化成byte[]數組類型。註:基本類型要轉化為byte[]數組的話,需要用該基本類型的引用類。比如int的引用類是integer,就行了所有的類型,包括class都可以用這種序列化方式來轉成byte[],

3. java中byte與char的問題。

byte是位元組數據類型,是有符號型的,佔1個位元組;大小范圍為-128—127。

char是字元數據類型,是無符號型的,佔2位元組(Unicode碼);大小范圍是0—65535;char是一個16位二進制的Unicode字元,JAVA用char來表示一個字元。


區別:


1、Char是無符號型的,可以表示一個整數,不能表示負數;而byte是有符號型的,可以表示-128—127的數;

2、char可以表中文字元,byte不可以;

3、char、byte、int對於英文字元,可以相互轉化



對於你上面說的最後會出異常是因為你不能通過while對DataInputStream 無限制的讀取,DataInputStream 內容讀取完了之後就沒有數據可讀,固然會報錯。

你應該先判斷DataInputStream 是否可用,只有在可用的情況下能繼續讀取,應該改成:

		DataInputStreamdi=newDataInputStream(newByteArrayInputStream(
s.getBytes()));
while(di.available()>0){
System.out.print((char)di.readByte());
}



文章參考:http://blog.csdn.net/luoweifu/article/details/7770588

4. java 中,char 數組轉換成 byte數組(急,在線等)

package com.example.lib;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.*;
import java.nio.charset.Charset;

public class MyClass {
public static void main(String[] args) throws IOException {
FileInputStream fs; //定義流對象變數
fs = new FileInputStream("/Users/mac/AndroidStudioProjects/MyApplication/lib/src/main/java/com/example/lib/mytext.txt");
byte[] bytes = new byte[fs.available()]; //定義接收數據的位元組數組,並用流對象初始化數組大小
fs.read(bytes); //裝載數據
char[] w = getChars(bytes);//將位元組數組轉化為字元數組,注意數組末尾會有空字元
String s = new String(w); //利用字元串構造函數來構造字元串,
System.out.println("結果為:"+s.trim());輸出時,去掉末尾空格字元
}

private static byte[] getBytes (char[] chars) {
Charset cs = Charset.forName ("UTF-8");//設定字元集編碼代號
CharBuffer cb = CharBuffer.allocate (chars.length);//按照字元數組長度進行分配空間
cb.put (chars); //裝載數據
cb.flip (); //指針復位
//按照編碼規則進行編碼
ByteBuffer bb = cs.encode (cb);
return bb.array();
}

private static char[] getChars (byte[] bytes) {
Charset cs = Charset.forName ("UTF-8");//指定字元集編碼
ByteBuffer bb = ByteBuffer.allocate (bytes.length);
bb.put (bytes);//裝載數據
bb.flip ();//調整回指針為0
CharBuffer cb = cs.decode (bb);//按照指定字元集進行解碼
return cb.array();//返回字元數組
}
}

5. 在C++里怎麼把char數組轉換成byte數組

char和byte都是8位。char默認是signed還是unsigned看編譯器,一般是signed也就是有符號char類型,范圍為0-127.它的最高位是不用的,為0.
byte范圍0-255,。所以char轉byte直接強制類型轉換就可以,不會丟失數據

6. Java中怎麼把一個中文字元char轉換成byte

1、中文一個字是兩個char,即是String類型。
2、String只能轉為byte[]數組,方法是調用其getBytes()方法。

7. java中如何將字元串轉化成特定長度的位元組數組

publicclassTest{
publicstaticvoidmain(String[]args){
byte[]byteArray="Test".getBytes();
byte[]byteArray2="測試".getBytes();
System.out.println("byteArray.length="+byteArray.length);
System.out.println("byteArray2.length="+byteArray2.length);

for(inti=0;i<byteArray.length;i++)
System.out.print((char)byteArray[i]);
System.out.println();
for(inti=0;i<byteArray2.length;i++)
System.out.print((char)byteArray2[i]);
}
}

漢字2個位元組編碼,1個漢字轉換成2bytes

8. 在java中如何將全為數字的字元串轉化為byte數組

public class DigitsString{
public static void main(String[] args){
String s="99999";
byte[] bytes=s.getBytes();
for(int i=bytes.length-1;i>=0;i--){
bytes[i]-=(byte)'0';
}
for(int i=0;i<bytes.length;i++){
System.out.print(bytes[i]);
}
System.out.println();
}
}
一樓二樓的位元組數組中元素的值不是對應數位的值,是數位的ASCII碼,根本不符合題意

9. java中怎麼把字元串轉化為字元串數組

1,

如果是 「字元串數組」 轉 「字元串」,只能通過循環,沒有其它方法
String[] str = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++){
sb. append(str[i]);
}
String s = sb.toString();
2,

如果是 「字元數組」 轉 「字元串」 可以通過下邊的方法
char[] data={'a','b','c'};
String s=new String(data);

3,

使用StringUtils中的join函數。org.apache.commons.lang.StringUtils;

4,

將數組變成字元串

5,

StringUtils.join(str)

// 將數組用逗號分隔變成字元串

StringUtils.join(str, ",")

將字元串變成數組方法:

java.lang包中有String.split()方法,java中通常用split()分割字元串,返回的是一個數組。

特殊,轉義字元,必須加"\"(「.」和「|」都是轉義字元)

閱讀全文

與char轉byte數組java相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:142
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:732
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:301
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:141
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:890
app轉賬是什麼 瀏覽:163