導航:首頁 > 編程語言 > javachar轉byte

javachar轉byte

發布時間:2023-04-16 03:13:30

java byte到char的轉換

char 和 byte不是一個概念的芹搏或

byte a = (byte)'b';

這個是成立的 char型就是一個單字嫌伍符 直接強制類型轉換就可以完成轉換成1個位元組的byte。 因為char的定義就是1位元組。

所以互換方式就是強制轉換
byte a = (byte)'c';
char b = (char)a;
System.out.println(b);

char在java中可銀山以直接取值來表示
char b = (char)100;
System.out.println(b);
結果是d

㈡ 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

㈢ java 中char字元怎麼轉成二進制

中喚租char字銀咐符怎麼轉和搏兆成二進制
public class StringDemo {
public static void main(String[] args) throws UnsupportedEncodingException {
Char s = 'A';
byte[] bys = s.getBytes();
System.out.println(Arrays.toString(bys));
String ss = new String(bys); // A
System.out.println(ss);
}

㈣ java char,byte移位操作時的類型轉換。

int類型數據4位元組32位
int 數據 >> 數值右端
所以數值右端范圍是(0-31)00000-11111
所有隻有右端數值的低5位有用
例子
int類型數據3(0.....0011)
3 >> 33 表示 3右移33位(100001)
但是3是int類型,只有32位,右移數值只有低5位有用
3 >> 33 相當於 3 >> 1 結果是 1

㈤ 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[],

㈥ 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();//返回字元數組
}
}

㈦ 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碼的值了。

㈧ 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碼的值了。

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

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

㈩ java怎麼把char轉換成byte數組

1、位元組數組轉換為字元串
byte[]
byBuffer
=
new
byte[20];
String
strRead
=
new
String(byBuffer);
strRead
=
String.ValueOf(strRead.toCharArray(),
0,
byBuffer.length]);
2、字元串轉換成位元組數組
byte[]
byBuffer
=
new
byte[200];
String
strInput=abcdefg;
byBuffer=
strInput.getBytes();
注意:如果字元串裡面含有中文,要特別注意,在android系統下,默認是UTF8編碼,一個中文字元相當於3個位元組,只有gb2312下一個中文相當於2位元組。這種情況下可採取以下辦法:

閱讀全文

與javachar轉byte相關的資料

熱點內容
直播用哪個app播放背景音樂 瀏覽:850
點歌機系統app在哪裡下載 瀏覽:609
javadate類型轉換string 瀏覽:694
RPG游戲解壓後亂碼 瀏覽:988
無線通信的幾個密鑰演算法 瀏覽:644
王者榮耀app數據修復在哪裡 瀏覽:429
基於單片機飲水機溫度控制系統的設計 瀏覽:455
c中委託被編譯後的結構 瀏覽:152
飛燕app怎麼注銷賬號 瀏覽:895
cad命令縮小 瀏覽:154
linux發展史 瀏覽:629
伺服器選用什麼CPU比較好 瀏覽:334
明星怎麼宣傳安卓 瀏覽:953
8255晶元編程 瀏覽:65
java文件bat運行 瀏覽:747
java常見筆試 瀏覽:529
360程序員模式 瀏覽:363
AQS演算法的查詢樹構造 瀏覽:329
小豬微信營銷源碼 瀏覽:12
阿里雲伺服器能連接列印機嗎 瀏覽:175