String(byte[] bytes, String charsetName)

  1. String str = new String("时之沙");
  2. byte bytes[] = str.getBytes("GBK");
  3. byte byte2[] = str.getBytes("ISO-8859-1");
  4. String str_gbk = new String(bytes, "GBK");
  5. System.out.println("str_gbk:" + str_gbk);
  6. String str_utf8 = new String(bytes, "UTF-8");
  7. System.out.println("str_utf8:" + str_utf8);
  8. String str_iso8859 = new String(bytes, "ISO-8859-1");
  9. System.out.println("str_iso8859" + str_iso8859);
  10. String byte2_gbk = new String(byte2, "GBK");
  11. System.out.println("byte2_gbk:" + byte2_gbk);
  12. 输出结果:
    str_gbk:时之沙
    str_utf8:???
    str_iso8859ʱ֮ɳ
    byte2_gbk:???
时间: 2024-11-17 08:22:57

String(byte[] bytes, String charsetName)的相关文章

用java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)解决乱码问题

Java中String的数据是如何存储的,查看源代码就可以知道,String的数据是存储在char[] value这样一个成员变量中的,char类型的大小在java中是2个字节 我们还知道,现在普遍使用的unicode版本是UCS-2,就是使用2个字节表示一个字符的unicode版本,这就对上了,java使用的就是UCS-2标准,所以,String中的value中存储的都是一个个数字 比如’你’的unicode编码是4f60,看下面的测试代码 char c = '你'; System.out.p

String类,string类的特点

1,String类是final修饰的,不能被继承 2,String类的底层使用数组存储 JDK1.9之前:char[]value JDK1.9之后:byte[]value 3,String类的对象不可变 (1),字符串常量池中存储字符串常量,可以共享 (2),每次修改都会产生新对象,频繁修改的话效率不高 如果涉及到大量的字符串修改操作,建议使用StringBuffer或StringBuilder 如何实现不可变的? (1),类本身不能继承,没有子类会重写 (2),底层存储的value数组都是fi

C# Byte[] 转String 无损转换

转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// string 转成byte[] /// </summary> /// <param name="hexString"></param> /// <returns>byte[]</returns> private byte[] strToToHexByte(string hexString) { hexS

InputStream转换为String, byte[] data = new byte[1024]详解

/** * This file created at 2018年2月28日. * * Copyright (c) 2002-2018 Bingosoft, Inc. All rights reserved. */ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.

Java - byte[] 和 String互相转换

通过用例学习Java中的byte数组和String互相转换,这种转换可能在很多情况需要,比如IO操作,生成加密hash码等等. 除非觉得必要,否则不要将它们互相转换,他们分别代表了不同的数据,专门服务于不同的目的,通常String代表文本字符串,byte数组针对二进制数据 通过String类将String转换成byte[]或者byte[]转换成String 用String.getBytes()方法将字符串转换为byte数组,通过String构造函数将byte数组转换成String 注意:这种方式

Java基础知识强化30:String类之String类构造方法

1. 常用String构造方法使用: 1 package cn.itcast_01; 2 3 /* 4 * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. 5 * 通过查看API,我们可以知道 6 * A:字符串字面值"abc"也可以看成是一个字符串对象. 7 * B:字符串是常量,一旦被赋值,就不能被改变. 8 * 9 * 构造方法: 10 * public String():空构造 11 * public String(byte[] bytes):把字节数组转成字

byte[] bytes和string转换

public static string ToHexString ( byte[] bytes ) // 0xae00cf => "AE00CF "        {            string hexString = string.Empty;            if ( bytes != null )            {                StringBuilder strB = new StringBuilder ();            

String byte[]

java中string与byte[]的转换 2012-07-06 09:55:47|  分类: java |  标签:java  string  byte  转换  乱码  |举报|字号 订阅 1.string 转 byte[] byte[] midbytes=isoString.getBytes("UTF8"); //为UTF8编码 byte[] isoret = srt2.getBytes("ISO-8859-1"); //为ISO-8859-1编码 其中ISO

[转]关于网络通信,byte[]和String的转换问题

最近的项目中要使用到把byte[]类型转换成String字符串然后通过网络发送,但发现发现出去的字符串和获取的字符串虽然是一样的,但当用String的getBytes()的方法得到的byte[]跟原来的byte[]是不一样的. 看如下代码: bytebytes[] = new byte[] { 50, 0, -1, 28, -24 }; String string = new String(bytes); byte[] ret = string.getBytes(); 查看ret的数据发现是50