java中String.getBytes()的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中String.getBytes()的用法相关的知识,希望对你有一定的参考价值。

public class Stringg
public static void main(String[] args)
String str="abc";
System.out.println(str.getBytes());
System.out.println(str.getBytes());



getBytes( )得到的是什么值,代表什么意思,有什么作用?
为什么这两个输出不同呢,明明是一样的对象产生的值啊?
请教高手,谢谢!

str.getBytes() 返回一个字节数组

调用一次返回的都是一个新的数组对像, 你打印的是对象引用的哈希码(不是对像里面的内容),肯定是不一样的(因为每次返回都是一个新的变量).他们的内容是一样的.
参考技术A 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中.
此方法多用在字节流中,用与将字符串转换为字节。

java byte数组与String互转

java byte数组与String互转

CreationTime--2018年7月6日14点53分

Author:Marydon

1.String-->byte[]

  方法:使用String.getBytes(charset)实现

String website = "http://www.cnblogs.com/Marydon20170307";
// String-->byte[],并指定字符集
byte[] b = website.getBytes("utf-8");
// 打印转换结果
System.out.println(Arrays.toString(b));

2.byte[]-->String

  方法:使用new String(byte[],charset)实现

// byte[]-->String,并指定字符集
String transferResult = new String(b, "utf-8");
// 判断转化后的字符串是否和源字符串是否一致
System.out.println(transferResult.equals(website));// true

3.注意

  String与byte相互转换时,字符集最好声明,并需保持一致。 

以上是关于java中String.getBytes()的用法的主要内容,如果未能解决你的问题,请参考以下文章

java中文乱码,能说下string.getBytes()和new String()转码是,具体点。

关于java中String.getBytes()问题

java String.getBytes()编码问题——String.getBytes(charset)

Java:String.getBytes(Charset) 与。 Charset.encode(String) 用于 OutputStream

String.getBytes()

字符编码问题