String.length()和String.getBytes().length
1、字符与字节
抛出如下代码:
public static void main(String[] args) {
String str = "活出自己范儿";
System.out.println(str.length());
System.out.println(str.getBytes("GBK").length);
}
执行结果:
6
12
结论:
String.length():返回字符串的字符个数,一个中文算一个字符;
String.getBytes().length:返回字符串的字节长度,一个中文两个字节;
2、字节长度
抛出一段代码:
public static void main(String[] args) {
String str = "活出自己范";
System.out.println(str.length());
try {
System.out.println(str.getBytes().length);
System.out.println("GBK=="+str.getBytes("GBK").length);
System.out.println("UTF-8=="+str.getBytes("UTF-8").length);
System.out.println("GB2312=="+str.getBytes("GB2312").length);
System.out.println("ISO-8859-1=="+str.getBytes("ISO-8859-1").length);
} catch (Exception e) {
e.printStackTrace();
}
}
执行结果:
6
18
GBK==12
UTF-8==18
GB2312==12
ISO-8859-1==6
结论:
String.getBytes().length方法是得到一个字串的字节数组的长度,在获得字符串的字节数组的长度的时候,需要制定编码格式,否则会默认操作系统的编码格式:
此博文来源于:https://www.jianshu.com/p/b939412d8c38
String.length()和String.getBytes().length的更多相关文章
- 关于java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)
public byte[] getBytes(Charset charset) Encodes this String into a sequence of bytes using the given ...
- 用java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)解决乱码问题
Java中String的数据是如何存储的,查看源代码就可以知道,String的数据是存储在char[] value这样一个成员变量中的,char类型的大小在java中是2个字节 我们还知道,现在普遍使 ...
- FromBase64String(String)和Encoding.Default.GetBytes(String)
今天突然被问FromBase64String(String)和Encoding.Default.GetBytes(String)有啥区别,我刚开始学C#对这个一脸懵逼,于是总结一下今天查资料的内容. ...
- String详解, String和CharSequence区别, StringBuilder和StringBuffer的区别 (String系列之1)
本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/string01. ...
- Java基础知识强化34:String类之String类的转换功能
1. String类的转换功能 String[] split(String regex)//将字符串变成字符串数组(字符串切割) byte[] getBytes()//将字符串变成字节数组 char[ ...
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...
- String详解, String和CharSequence区别, StringBuilder和StringBuffer的区别
本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/string01. ...
- String系列01 - String 60%
1.String简介 String类实现CharSequence接口.(同时,实现Serializable, Comparable 接口). String类使用final修饰符,为final类,不可被 ...
- String类,string类的特点
1,String类是final修饰的,不能被继承 2,String类的底层使用数组存储 JDK1.9之前:char[]value JDK1.9之后:byte[]value 3,String类的对象不可 ...
随机推荐
- linux下实用的快速随机生成复杂密码
linux下实用的快速随机生成复杂密码 [root@test.db-audit.1 ~]# </dev/urandom tr -dc '1234567890!@#$%abcdefghigklmn ...
- 【bzoj 4449】[Neerc2015]Distance on Triangulation
Description 给定一个凸n边形,以及它的三角剖分.再给定q个询问,每个询问是一对凸多边行上的顶点(a,b),问点a最少经过多少条边(可以是多边形上的边,也可以是剖分上的边)可以到达点b. I ...
- win-DOS命令整理
1 md 建 文件夹2 cd 指向文件夹方向cd .. 进入上一级文件夹cd \ 回到根目录3 rd 删除文件夹4 dir 查看文件夹里的文件 dir /a 查看文件夹内全部文件含隐藏文件 5 ren ...
- [经验交流] CentOS7 docker 使用 overlay 存储
关于 docker overlay 存储相比 device mapper 的优势,可以在 google 上搜索相关资料.在 ubuntu 16.04.2 上可以直接使用 overlay 存储,而在 C ...
- Java基础13-字符串缓冲流;字节流
作业解析 描述HashMap内部实现原理 HashMap是一种存储机制,存储的是key-value对,key用来保证元素的唯一性.通过hash算法将要存储的对象打散,分布在不同的区间中. 当添加对象时 ...
- get 和free
1.ngx_pool_t ** ngx_get_pool()//use:getngx_pool_t **pool_address;ngx_pool_t *pool;pool_address = ngx ...
- 微软将把Windows Defender防火墙传递给 Linux 子系统
前不久,微软以 Azure Sphere OS 的形式发布了自己的 Linux 版本.而在最新的开发中,该公司又决定将其 Windows Defender 防火墙的传递给 Linux 子系统(WSL) ...
- css奇技淫巧-色彩渐变与动态渐变
来源 css渐变 CSS 中设置的渐变是 gradient 数据类型,它是一种特别的image数据类型.使用background-image设置,可叠加设置多个: CSS3 定义了两种类型的渐变(gr ...
- SQLAlchemy+Flask-RESTful使用(一)
前言 开新坑啦.最近打算自己开一个资源聚合网站.就用Flask. 当然也使用了 Flask-RESTful和SQLAlchemy啦 写的过程中遇到过很多坑/觉得比较有意义的就写在这里. 变更记录 # ...
- Python——函数,模块,简单文件读写
函数(function)定义原则: 最大化代码重用,最小化代码冗余,流程符合思维逻辑,少用递归; 函数的定义方法: def function_name(param_1, param_2): ..... ...