導航:首頁 > 編程語言 > javastringgetbytes

javastringgetbytes

發布時間:2023-09-20 12:07:06

1. java怎麼將string轉換成byte數組

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

參考代碼:

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

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

2. java中文亂碼,能說下string.getBytes()和new String()轉碼是,具體點。

1、Java中,【String.getBytes(String decode)】的方法,會根據指定的decode,編碼返回某字元串在該編碼下的byte數組表示,例如:

byte[] b_gbk = "中".getBytes("GBK");
byte[] b_utf8 = "中".getBytes("UTF-8");
byte[] b_iso88591 = "中".getBytes("ISO8859-1")

上面三行代碼表示:分別返回「中」這個漢字在GBK、UTF-8和ISO8859-1編碼下的byte數組表示,此時b_gbk的長度為2,b_utf8的長度為3,b_iso88591的長度為1。

2、而通過【new String(byte[], decode)】的方式來還原這個「中」字時,實際是使用decode指定的編碼來將byte[ ]解析成字元串,例如:

String s_gbk = new String(b_gbk,"GBK");
String s_utf8 = new String(b_utf8,"UTF-8");
String s_iso88591 = new String(b_iso88591,"ISO8859-1");

s_gbk和s_utf8都是「中」,而只有s_iso88591是一個不認識 的字元,因為ISO8859-1編碼的編碼表中,根本就沒有包含漢字字元,當然也就無法通過"中".getBytes("ISO8859-1")。

因此,通過【String.getBytes(String decode)】方法來得到byte[ ]時,要確定decode的編碼表中確實存在String表示的碼值,這樣得到的byte[ ]數組才能正確被還原。

(2)javastringgetbytes擴展閱讀

java中文編碼避免亂碼

1、為了讓中文字元適應某些特殊要求(如http header頭要求其內容必須為iso8859-1編碼),可能會通過將中文字元按照位元組方式來編碼的情況,比如:

String s_iso88591 = new String("中".getBytes("UTF-8"),"ISO8859-1")

2、上述例子中的s_iso8859-1字元串實際是三個在 ISO8859-1中的字元,在將這些字元傳遞到目的地後,目的地程序再通過相反的方式:

String s_utf8 = new String(s_iso88591.getBytes("ISO8859-1"),"UTF-8")

來得到正確的中文漢字。這樣就既保證了遵守協 議規定、也支持中文。

3、String.getBytes(String decode)方法會根據指定的decode編碼返回某字元串在該編碼下的byte數組表示這里是encode ,not decode,從字元串到位元組數組是編碼的過程,從位元組數組到字元串(即 new String(byte[] , charsetname))才是解碼的過程。

3. 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
(3)javastringgetbytes擴展閱讀:
反過來,將Byte數組轉化為String的方法
using
System;
using
System.Text;
public
static
string
FromASCIIByteArray(byte[]
characters)
{
ASCIIEncoding
encoding
=
new
ASCIIEncoding(
);
string
constructedString
=
encoding.GetString(characters);
return
(constructedString);
}
·

閱讀全文

與javastringgetbytes相關的資料

熱點內容
打開微信收付款加密 瀏覽:400
小度app怎麼關閉看護助手 瀏覽:739
伺服器方舟boss屬性怎麼調 瀏覽:345
acos系統終端命令 瀏覽:915
寧德雲伺服器最新行情 瀏覽:475
壓縮性骨折五十天 瀏覽:656
如何在伺服器里把方塊替換 瀏覽:909
變頻空調摘板用什麼替代壓縮機 瀏覽:46
怎麼在蘋果手機上玩安卓和平精英 瀏覽:237
python非同步調用框架 瀏覽:963
安卓手機如何拍live圖 瀏覽:823
供應鏈管理系統源碼 瀏覽:944
方舟編譯器會適配哪些型號 瀏覽:470
主流雲伺服器哪個牌子好 瀏覽:267
導航怎麼看伺服器在那 瀏覽:932
廣石化單片機 瀏覽:281
和教育連接伺服器失敗是什麼原因 瀏覽:1003
建行app怎麼存定期 瀏覽:830
mc伺服器地址183 瀏覽:73
為什麼會解壓軟體解壓失敗 瀏覽:110