1  /**
2 *
3 * String 与 byte[]之间的转换
4 * 编码:String ---> byte[]:调用String的getBytes()
5 * 解码:byte[]--->String: 调用String的构造器
6 *
7 *
8 * 编码: 字符串--->字节(看得懂--->看不懂二进制数据)
9 * 解码: 编码的逆过程,字节-->字符串 (看不懂二进制数据--->看得懂)
10 *
11 * 说明:解码时,要求解码使用时的字符集必须与编码时使用的字符集一致,否则会出现乱码
12 *
13 */
14 @Test
15 public void test7() throws UnsupportedEncodingException {
16 String str1 = "abc123";
17 byte[] bytes = str1.getBytes();
18 System.out.println(Arrays.toString(bytes)); //[97, 98, 99, 49, 50, 51]
19
20 String str2 = "abc123中国";
21 byte[] bytes1 = str2.getBytes(); //使用默认的字符集,进行编码
22 System.out.println(Arrays.toString(bytes1));//[97, 98, 99, 49, 50, 51, -28, -72, -83, -27, -101, -67]
23
24 byte[] gbks = str2.getBytes("gbk"); //使用 gbk字符集进行编码
25 System.out.println(Arrays.toString(gbks)); //[97, 98, 99, 49, 50, 51, -42, -48, -71, -6]
26
27 System.out.println("*********************");
28 String str3 = new String(bytes1);//使用默认的字符集,进行解码
29 System.out.println(str3); //abc123中国
30
31 String str4 = new String(gbks);
32 System.out.println(str4); //abc123�й� 乱码 原因:编码集与解码集不一致
33
34 String str5 = new String(gbks, "gbk");
35 System.out.println(str5); //abc123中国
36
37 }

Java 常用类 String类与其他结构之间的转换-----String 与 byte[]之间的转换的更多相关文章

  1. Java常用API(Math类)

    Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...

  2. Java常用API(Arrays类)

    Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...

  3. Java常用API(ArrayList类)

    Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...

  4. Java常用API(Random类)

    Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...

  5. Java常用API(Scanner类)

    Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...

  6. Java 常用对象-Date类和Calender类

    2017-11-02 22:29:34 Date类:类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值 ...

  7. 28个Java常用的工具类

    源码下载:http://pan.baidu.com/s/1pJLSczD Base64.javaBase64DecodingException.javaCConst.javaCharTools.jav ...

  8. Java 常用对象-Math类

    2017-11-02 21:26:18 Math类:Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. *属性摘要 *常用方法 random() : 返回[0.0,1.0 ...

  9. Java 常用对象-Object类

    2017-10-31 23:42:08 Object类:类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 或者说,每个类都直接或者间 ...

  10. java 常用时间操作类,计算到期提醒,N年后,N月后的日期

    package com.zjjerp.tool; import java.text.ParseException; import java.text.ParsePosition; import jav ...

随机推荐

  1. 【小测试】golang中数组边界检查的开销大约是1.87%~3.12%

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 对比C/C++, golang等类型安全的语言会在数组访问 ...

  2. TortoiseGit 常见问题汇总

    1.test分支修改后合并到master分支 1)切换本地分支到master分支 2)TortoiseGit --->  merge,选择远程分支test 提交到远程分支master 2.将远程 ...

  3. Mysql 为现有数据生成Guid

    GUID 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络或系统中. ...

  4. 手撕Vue-监听数据变化

    经过上一篇的介绍,已经实现了将模板编译成具体数据,接下来要介绍的是如何监听数据的变化,本章主要完成这个需求即可. 在我们文章的开始,我写了一个 Vue 双向数据绑定原理的文章当中封装了一个 Obser ...

  5. NLP涉及技术原理和应用简单讲解【二】:paddle(分布式训练、AMP自动混合精度训练、模型量化、模型性能分析)

    参考链接: https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/06_distributed_training/cluster_q ...

  6. 编译Nginx服务部署静态网站

    Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器,并在一个BSD-like协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在 ...

  7. 【Java】Java版本升级,找不到符号 问题处理

    哈喽,各位早上/中午/晚上好呀! JDK21出了也有一段时间了,有的小伙伴也按捺不住开始将项目升级到JDK21了吧. 既然升级,大概多多少少都会遇到"找不到符号"的问题,英文原文是 ...

  8. 26岁的超经典音乐播放器Winamp归来!UI彻底重构:支持iOS/安卓

    快科技4月18日讯,还记得Winamp吗? 这款1997年首发的媒体播放器,已经走过了26年的历史.它凭借高度简洁.大量的皮肤.丰富的定制性.多元的格式支持等成为有史以来最好的音乐播放器之一. 当年的 ...

  9. CH32V208蓝牙从机sleep模式下功耗测试

    本测试基于CH32V208W的开发板:蓝牙从机模式:使用程序BLE_UART 在进行功耗测试的时候尽量去除额外耗电器件,将开发板上的VDD于VIO相连接,测功耗时直接给VDD供电. 将会对500ms, ...

  10. 《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(中)

    第 8 章 认证和安全 8.2 ASP.NET Core Identity Identity 是 ASP.NET Core 中提供的对用户和角色等信息进行存储与管理的系统 Identity 由3层构成 ...