Java判断字符串长度

今天一个程序出了问题,排查了半天才发现,原来是因为原来的一个计算汉字长度的代码出了问题:

 public static int getStringRealLength(String str) throws Exception{
  String str1 = new String(str.getBytes("GB2312"),"iso-8859-1");
  return str1.length();
}

汉字中有生僻字:“旸”,结果计算出长度为1。后来将GB2312改成GBK就可以了。因为字符可以正确算出长度。

原帖地址:http://blog.csdn.net/soundfuture/article/details/11601653

汉字所占byte问题请参考我的博文:http://blog.csdn.net/woshixuye/article/details/7907537

时间: 2024-08-31 08:16:03

Java判断字符串长度的相关文章

JavaScript如何判断字符串长度(英文占1个字符,中文汉字占2个字符)

//计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { len += 2; } else { len ++; } } return len; } 方法二: function strlen(str){

js 判断字符串长度:计算字符串长度/判断空

计算字符串长度可用的三种方法:   echo "$str"awk '{print length($0)}'  expr length "$str"  echo "$str"wc -c  但是第三种得出的值会多1,可能是把结束符也计算在内了. 判断字符串为空的方法有三种:   if [ "$str" = "" ]  if [ x"$str" = x ]  if [ -z "$st

JS判断字符串长度的5个方法

 这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符)   方法一:    代码如下: String.prototype.gblen = function() {     var len = 0;     for (var i=0; i<this.length; i++) {       if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {

Java判断字符串中是否包含中文方法_java

今天和同事在讨论一个问题,需要检查"输入的字符串中是否包含中文",刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符.数字.特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas

java判断字符串是否有逗号的方法_java

如下所示: if(str.indexOf(",") >= 0) System.out.println("字符串中有逗号"); 以上这篇java判断字符串是否有逗号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js判断字符串含有逗号.js判断字符串包含逗号.java逗号分割字符串.java以逗号分割字符串.

java判断字符串是否为数字的方法小结_java

本文实例总结了java判断字符串是否为数字的方法.分享给大家供大家参考,具体如下: 方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 方法二:用正则表达式 public static boolean isNume

java 判断字符串是否是整数

Java 中,如何判断字符串是否是整数呢? 有两种方式: 方式一:通过正则表达式 Java代码   /***       * 判断 String 是否int       *        * @param input       * @return       */       public static boolean isInteger(String input){           Matcher mer = Pattern.compile("^[0-9]+$").matche

java判断字符串是否为数字或中文或字母

个人认为最好的方法 *各种字符的unicode编码的范围:      * 汉字:[0x4e00,0x9fa5](或十进制[19968,40869])      * 数字:[0x30,0x39](或十进制[48, 57])      *小写字母:[0x61,0x7a](或十进制[97, 122])      * 大写字母:[0x41,0x5a](或十进制[65, 90]) public static boolean isLetterDigitOrChinese(String str) { Stri

处理判断字符串长度的代码_DOS/BAT

呵呵大家也看到题目--基础练习.我不会出的太难的,这道题的思路应该会比较多的 不过我也还没开始做,希望大家积极参与哦.(最惨的就是只能加别人两分,郁闷) 习题1.1 字符串长度不超过80.不含特殊字符 例 i like the bathome,because here is the batch of the world. 1.2 字符串长度小于255,含有特殊字符,试求其长度. 例 %%a%%!ver!&^^^ ^*~ are you o k ?" : \ / ` ` verfdxcwe