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相互转换时,字符集最好声明,并需保持一致。

相关推荐:

原文地址:https://www.cnblogs.com/Marydon20170307/p/9273724.html

时间: 2024-11-05 19:35:00

java byte数组与String互转的相关文章

JAVA关于byte数组与String转换的问题

1 public class ToString{ 2 public static void main(String[] args){ 3 String aa = "hellow"; 4 byte[] bb = aa.getBytes(); 5 byte[] cc = aa.getBytes(); 6 7 System.out.println(aa); 8 System.out.println(bb.toString()); 9 System.out.println(cc.toStrin

Delphi Byte数组与String类型的转换

string string = AnsiString = 长字符串,理论上长度不受限制,但其实受限于最大寻址范围2的32次方=4G字节: 变量Str名字是一个指针,指向位于堆内存的字符序列,字符序列起始于@Str[1],@Str[1]偏移负16个字节的空间存储着字串长度.引用计数等信息.字符序列以NULL结束. string[n] string[n] = ShortString = 短字符串,最多容纳255个字符,实际长度是字符长度+1,是Delphi的简单类型: Str[0]存储着字符的个数,

[Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]

场景: 1. 通过socket给Java传递byte[]数组时,utf-8的字节数组在转换为String, Java并不会遇到0就停止结束,而是一直使用完byte[]的容量, 所以在转换为Java的String需要自己判断字节值是0的位置,再截取数组长度. public static int searchByte(byte[] data, byte value) { int size = data.length; for (int i = 0; i < size; ++i) { if (data

[utf8编码的byte[]数组转换为String时要注意的问题]

1. 通过socket给Java传递byte[]数组时,utf-8的字节数组在转换为String, Java并不会遇到0就停止结束,而是一直使用完byte[]的容量, 所以在转换为Java的String需要自己判断字节值是0的位置,再截取数组长度. [cpp] view plaincopyprint? public  static int searchByte(byte[] data, byte value) { int size = data.length; for (int i = 0; i

[Java] java byte数组与int,long,short,byte转换

public class DataTypeChangeHelper { /** * 将一个单字节的byte转换成32位的int * * @param b *            byte * @return convert result */ public static int unsignedByteToInt(byte b) { return (int) b & 0xFF; } /** * 将一个单字节的Byte转换成十六进制的数 * * @param b *            byt

java byte数组如何截取

byte数组截取当然要提到效率非常高的arraycopy,java中调用方式如下:System.arraycopy(src, srcPos, dest, destPos, length) 参数解析: src:byte源数组srcPos:截取源byte数组起始位置(0位置有效)dest,:byte目的数组(截取后存放的数组)destPos:截取后存放的数组起始位置(0位置有效)length:截取的数据长度 亲自测试过,效率很高. 再分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还

可序列化对象和byte[]数组之间的互转

/// <summary> /// 将可序列化对象转成Byte数组 /// </summary> /// <param name="obj">对象(对象不能为空)</param> /// <returns>返回相关数组</returns> protected static byte[] ObjectToByteArray<T>(T obj) where T : ISerializable { if (o

java压缩和解压字符串,Byte数组,String

在网上找到的压缩解压的工具类,可以压缩String字符串 /*** * 压缩GZip * * @param data * @return */ public static byte[] gZip(byte[] data) { byte[] b = null; try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); GZIPOutputStream gzip = new GZIPOutputStream(bos); gzip.w

java里面byte数组和String字符串怎么转换

//string 转 byte[] String str = "Hello"; byte[] srtbyte = str.getBytes(); // byte[] 转 string String res = new String(srtbyte); System.out.println(res); //当然还有可以设定编码方式 的 String str = "hello"; byte[] srtbyte = null; try { srtbyte = str.ge