导航:首页 > 编程语言 > 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相关的资料

热点内容
北漂程序员出车祸 浏览:914
亚马逊为什么用云端服务器 浏览:65
程序员审核职位 浏览:385
德龙空调压缩机 浏览:780
红旗app如何注册新账户 浏览:360
惯导pdf 浏览:606
c程序员的平均工资 浏览:58
微小店源码 浏览:801
编译原理答题题库 浏览:169
ubuntu编程入门 浏览:301
antbuild命令 浏览:771
怎么订阅服务器 浏览:593
视频专用加密器哪个好用 浏览:295
app无法使用网络哪里设置 浏览:847
红旗linux怎么安装 浏览:136
各种破车窗工具测试解压 浏览:933
优格手表app如何使用 浏览:716
docker进入容器命令 浏览:498
先河私有云服务器价格 浏览:459
java字体代码 浏览:829