導航:首頁 > 編程語言 > java字元轉位元組

java字元轉位元組

發布時間:2023-01-21 04:42:31

java中如何將字元串轉換成位元組數組

import java.io.UnsupportedEncodingException;/*** 將Byte轉換為String 或者將String轉換為Byte** @author Administrator**/public class ByteOrStringHelper {/*** 默認的字元集編碼
* UTF-8 一個漢字佔三個位元組*/private static String CHAR_ENCODE = "UTF-8";/*** 設置全局的字元編碼
* @param charEncode*/public static void configCharEncode(String charEncode){
CHAR_ENCODE = charEncode;}/*** @param str 源字元串轉換成位元組數組的字元串* @return*/public static byte[] StringToByte(String str) {
return StringToByte(str,CHAR_ENCODE);}/**** @param srcObj 源位元組數組轉換成String的位元組數組* @return*/public static String ByteToString(byte[] srcObj) {
return ByteToString(srcObj,CHAR_ENCODE);}/*** UTF-8 一個漢字佔三個位元組
* @param str 源字元串
* 轉換成位元組數組的字元串* @return*/public static byte[] StringToByte(String str,String charEncode) {
byte[] destObj = null;try {if(null == str || str.trim().equals("")){
destObj = new byte[0];
return destObj;}else{destObj = str.getBytes(charEncode);}} catch (UnsupportedEncodingException e) {
e.printStackTrace();}return destObj;}/*** @param srcObj 源位元組數組轉換成String的位元組數組* @return*/public static String ByteToString(byte[] srcObj,String charEncode) {
String destObj = null;try {destObj = new String(srcObj,charEncode);

⑵ java中String類型的如何轉為byte[]

一、String轉byte數組簡單版:

1、String str = "abcd";

2、byte[] bs = str.getBytes();

二、復雜版

// pros - no need to handle UnsupportedEncodingException // pros - bytes in specified

encoding scheme byte[] utf8 = "abcdefgh".getBytes(StandardCharsets.UTF_8);

System.out.println("length of byte array in UTF-8 : " + utf8.length);

System.out.println("contents of byte array in UTF-8: " + Arrays.toString(utf8));

Output : length of byte array in UTF-8 : 8 contents of byte array in UTF-8: [97, 98, 99, 100, 101, 102, 103, 104]1

(2)java字元轉位元組擴展閱讀:

反過來,將Byte數組轉化為String的方法

using System;

using System.Text;

public static string FromASCIIByteArray(byte[] characters)

{

ASCIIEncoding encoding = new ASCIIEncoding( );

string constructedString = encoding.GetString(characters);

return (constructedString);

}


·

⑶ java 怎麼把一個字元串數組轉換成一個位元組數組

String []strs={"1","2","3"};
int sum=0;
for(String str:strs){
byte[]bytes=str.getBytes();
sum+=bytes.length;
}
System.out.println("strs字元串數組占的位元組數:"+sum);

⑷ Java 字元串轉化為位元組

string型轉byte 要怎麼轉 有兩種方式
getBytes()
使用平台默認的字元集將此 String 解碼為位元組序列,並將結果存儲到一個新的位元組數組中。返回byte[]

getBytes(String charsetName)
使用指定的字元集將此 String 解碼為位元組序列,並將結果存儲到一個新的位元組數組中。返回
byte[]

你那樣寫是可以的 不過 你需要保證你的機器8001這個埠開放才能正常運行 我給你寫了一個測試類
public class T {
public static void main(String[] args) throws IOException
{
Socket s = new Socket(InetAddress.getByName("127.0.0.1"),80);
System.out.println(s);
}
}

⑸ Java把一個字元流轉換成位元組流,除了字元本身,還需要什麼參數

不知道你的問題是寫反了,還是故意這么問的。

Java只提供了將位元組流轉為字元流的方法,並沒有字元流轉為位元組流的方法。

因為位元組流是一個通用的流,可以傳輸各種類型的資源,比如:文本、圖片、音頻等...

而字元流是一個特殊的流,只能傳輸文本類型的資源,但是它比位元組流傳輸文本的方式更加方便、快捷。

所以,有些場景需要將位元組流轉為更加方便快捷的字元流來處理;但沒有場景需要將字元流轉為位元組流,這個很好理解,如果是文本類型,字元流更高效,不需要轉為位元組流,如果是其它類型,字元流根本就用不了,也不存在轉換一說。


如果你想問的是位元組流轉為字元流的方法,那麼可以使用

轉換專屬流:(將位元組流轉換成字元流)

java.io.InputStreamReader

java.io.OutputStreamWriter

該類的構造方法是4個重載方法,參數可以是字元流對象

或者是字元流對象+字元集名稱/字元集對象/字元集解碼器對象

public InputStreamReader(InputStream in) {}

public InputStreamReader(InputStream in, String charsetName)
throws UnsupportedEncodingException
{}

public InputStreamReader(InputStream in, Charset cs) {}

public InputStreamReader(InputStream in, CharsetDecoder dec) {}

⑹ java把字元串類型128轉換成位元組怎麼做

String str = "128";

str.getBytes(); //就是你要的結果
//以下為一個轉碼的操作,自己可以作為參考:
String newStr = new String(str.getBytes("ISO-8859-1"),"UTF-8"); //把一個ISO-8859-1編碼的字元串改為UTF-8的編碼格式。 這個一般針對中文字元串才會使用。

⑺ java 怎麼將string轉換成byte

1.string 轉 byte[]
byte[] midbytes=isoString.getBytes("UTF8");
//為UTF8編碼
byte[] isoret = srt2.getBytes("ISO-8859-1");
//為ISO-8859-1編碼
其中ISO-8859-1為單位元組的編碼
2.byte[]轉string
String isoString = new String(bytes,"ISO-8859-1");
String srt2=new String(midbytes,"UTF-8");
說明:
在網路傳輸或其它應用中常常有同一的中間件,假設為String類型。因此需要把其它類型的數據轉換為中間件的類型。
將字元串進行網路傳輸時,如socket,需要將其在轉換為byte[]類型。這中間如果採用用不同的編碼可能會出現未成預料的問題,如亂碼。
下面舉個例子:
我們用socket傳輸String類型的數據時,常常用UTF-8進行編碼,這樣比較可以避免一個「中文亂碼」的問題。
發送端:
String sendString="發送數據";
byte[] sendBytes= sendString .getBytes("UTF8");
.......socket發送
接受端:
String recString=new String( sendBytes ,"UTF-8");

但是,這里往往又會出現這樣一個問題。就是想要發送的數據本身就是byte[]類型的。
如果將其通過UTF-8編碼轉換為中間件String類型就會出現問題
如:
byte[] bytes = new byte[] { 50, 0, -1, 28, -24 };
String sendString=new String( bytes ,"UTF-8");
byte[] sendBytes= sendString .getBytes("UTF8");
然後再發送
接受時進行逆向轉換
String recString=new String( sendBytes ,"UTF-8");
byte[] Mybytes=isoString.getBytes("UTF8");
這時Mybytes中的數據將是[50, 0, -17, -65, -67, 28, -17, -65, -67]
因此,需要採用單位元組的編碼方式進行轉換
String sendString=new String( bytes ,"UTF-8"); 改為 String sendString=new String( bytes , "ISO-8859-1" );
byte[] Mybytes=isoString.getBytes("UTF8"); 改為 byte[] Mybytes=isoString.getBytes( "ISO-8859-1" );
這樣所需要的位元組就有恢復了。

⑻ 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

⑼ java怎麼將string轉換成byte數組

思路:先定義字元串,再通過getBytes()方法進行轉換數組就可以了。

參考代碼:

Strings="ZhiDao";//定義字元串
byte[]sb=s.getBytes();//把字元串轉換成數組

String的getBytes()方法是得到一個系統默認的編碼格式的位元組數組。將一個String類型的字元串中包含的字元轉換成byte類型並且存入一個byte[]數組中。

閱讀全文

與java字元轉位元組相關的資料

熱點內容
程序員生產智能創意 瀏覽:65
匯和銀行app怎麼登錄 瀏覽:379
騰訊伺服器如何上傳源碼 瀏覽:739
單片機的原理概述 瀏覽:508
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:299
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:558
計算機思維與演算法設計的重要性 瀏覽:664
linux刷新磁碟命令 瀏覽:76
我的世界如何查看伺服器種子pc 瀏覽:284
linuxlamp編譯安裝 瀏覽:609
枚舉演算法ppt 瀏覽:184
cmd查看進程命令 瀏覽:956
手機內怎麼刪除APP 瀏覽:834