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

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

it徐胖子 2012-08-25 20:00:00 浏览368 评论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。

 

 

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

用云栖社区APP,舒服~

【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿  详情请点击

网友评论

帮助您基于阿里云构建出一个隔离的网络环境。您可以完全掌控自己的虚拟网络,如选择自有 IP 地址范围、划分网段、配... 更多>

一个稳定可靠的集中式访问控制服务。您可以通过访问控制将阿里云资源的访问及管理权限分配给您的企业成员或合作伙伴。 更多>

一种高性能、高可靠、可平滑扩容的分布式内存数据库服务。 更多>

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本... 更多>
订阅广场全新上线

订阅广场全新上线