java中一个汉字和一个字母所占内存字节比较以及后台验证的减半处理

  1. 云栖社区>
  2. 博客列表>
  3. 正文

java中一个汉字和一个字母所占内存字节比较以及后台验证的减半处理

it徐胖子 2012-08-25 20:00:00 浏览549 评论0

摘要:   基本概念 我们一般理解java中 一个字符char占2个字节byte 一个汉字占2个字节byte 一个字母占1个字节byte   其他情况 对于汉字来说,采用gbk编码占两字节,采用utf8编码占三个字节。

 

基本概念

我们一般理解java中

一个字符char占2个字节byte

一个汉字占2个字节byte

一个字母占1个字节byte

 


其他情况

对于汉字来说,采用gbk编码占两字节,采用utf8编码占三个字节。

 


String的length()方法

String s1 = "aa";
String s2 = "a好";
s1.length()
s2.length()

答案都是2,因为该方法是返回字符的个数,并不是内存中的字节数。

 


数据库应用

java的编码不会影响数据库对汉字或者字母所占内存的理解。

数据库中一个字段长度为varchar(50),表明在内存中占50个字节,所以我们一般认为可以输入25个汉字,50个字母。

如果该内容即可以是汉字,也可以是字母,我们在后台验证的时候一般减半处理。

if(name.length()<25){ }

当然也可以判断如果是汉字,长度加1。

 

 

用云栖社区APP,舒服~

【云栖快讯】云栖社区技术交流群汇总,阿里巴巴技术专家及云栖社区专家等你加入互动,老铁,了解一下?  详情请点击

网友评论

it徐胖子
文章842篇 | 关注5
关注
帮助您基于阿里云构建出一个隔离的网络环境。您可以完全掌控自己的虚拟网络,如选择自有 IP 地... 查看详情
一个稳定可靠的集中式访问控制服务。您可以通过访问控制将阿里云资源的访问及管理权限分配给您的企... 查看详情
阿里云函数计算(Function Compute)是一个事件驱动的全托管计算服务。通过函数计... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
建站4折

建站4折