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

 

基本概念

我们一般理解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。

 

 

时间: 2024-10-31 20:53:20

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

java中为什么只进行一个初始化就会执行类中的函数

问题描述 java中为什么只进行一个初始化就会执行类中的函数 import java.awt.*;import javax.swing.*;import java.awt.event.*;public class E2 extends Frame{ class WindowCloser extends WindowAdapter { public void windowClosing(WindowEvent we) {System.exit(0); } } E2() { super(""

对象-JAVA中有关类的一个基础问题

问题描述 JAVA中有关类的一个基础问题 父类Father和子类Son,父类中有一个方法A,在子类中也定义了一模一样的一个方法A(具有与老方法相同的方法签名),那么在子类中那个A自然会把父类中的A给覆盖了.通过子类的对象调用方法A的时候,自然执行的是子类的A,通过父类的对象调用A的时候,自然执行的是父类的A,那么问题是:如果父类中有一个成员变量是子类Son,那么在父类中通过调用这个私有对象变量的方法A的时候, 是子类的A,还是父类的A? 解决方案 这么给你说吧,假如你实例化son,jvm会根据继

java中怎么实现有一个button去结束另一个button的响应事件

问题描述 java中怎么实现有一个button去结束另一个button的响应事件 小弟在做一个界面,刚开始学java,怎么实现有一个button去结束另一个button的响应事件,求各位大神指点一下,越详细越好!!! 解决方案 定义一个成员变量: boolean isstop=false; 在button1里面写 for (...) { 你的代码 if (isstop) { isstop = false; return; } } 在另一个按钮(停止)里写 isstop=true; 解决方案二:

对象-java中有关TreeSet的一个小疑问

问题描述 java中有关TreeSet的一个小疑问 看书上说java所有集合框架的具体类都至少有两种构造方式,一种是无参构造方法,一种是用另一个已有的容器来构造. 比如先前已经有了一个HashSet类的对象hh,但是他内部的元素是无序的,而我们这时再创建一个TreeSet(hh),他就会根据hh中存有元素自带的compareTo方法自动排好序,并且这个排序过程只进行一次.而如果我们将这些带排序的元素逐个加入到TreeSet中去,则就要加一次排一次序,会更耗时间. 请问,是不是有所遇到这种用到Tr

java监听-java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象

问题描述 java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象 java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象 比如用在监听方法当中作为参数的时候 解决方案 可以这么理解,通常是创建一个匿名类的实例然后作为参数传递给指定方法 . 解决方案二: 匿名类,作为参数是返回相应的匿名对象. 具体还是要看调用的函数有参数要求吧,参数是一个对应的匿名类,或者其父类,使用它就没有问题.

java中修饰方法的一个泛型指定为一个类问题

问题描述 java中修饰方法的一个泛型指定为一个类问题 java中修饰方法的一个泛型指定为一个类,那么这个方法的返回类型肯定就是这个类的对象,那返回的是这个类的子类的对象可以吗? 解决方案 可以的,但是在接收到参数进行处理的时候,是需要注意的.给你举个例子: public static void main(String[] args) { int int1 = (Integer) getInt();//正确 int int2 = (Integer) getInt2();//报错 java.lan

java字符串获取汉字拼音首字母的实现方法

问题描述 java字符串获取汉字拼音首字母的实现方法 网上有很多方法可以通过汉字来获取汉字拼音的首字母,我要实现的是这个字符串当中 还包含了特殊符号,比如字符串为:省辖市属(地区.州.直辖市区),想要获得最终 结果为:SXSS(DQZZXSQ),请各位大侠支招 解决方案 按描述你对获取汉字首字母应该没问题, 对含特殊符号的字符串,可先提取其中的汉字,然后再获取拼音啊 public static String getChineseCode(String retCode){ Pattern patt

获取字符串中的汉字拼音首字母_C#教程

获取字符串中的汉字拼音首字母(根据http://blog.csdn.net/iwebsms/archive/2004/09/28/119851.aspx修改) 可能代码比较臃肿,希望有朋友再帮忙改正   //返回给定字符串的首字母   private String IndexCode(String IndexTxt)   {    String _Temp=null;    for(int i=0;i<IndexTxt.Length;i++)     _Temp = _Temp + GetOne

java实现中文汉字的首字母排序

java中可以排序的工具类和接口共有五个SortedMap .SortedSet.TreeMap .TreeSet和Collections,Collections中需要显式调用sort()方法. 事例如下: Java代码 import java.util.List; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import myUtil.myArrayComparator;