http://www.mr3g.net/?p=220
参考sina的js版本而来,费弄最多的时间就是java对ansii码的判断了,js直接就是isascii()函数就可以实现了,java还要想办法
最后参考了两篇文章,才整出来这个判断
 
 
js代码:

 
- (int)sinaCountWord:(NSString*)s

{

int i,n=[s length],l=0,a=0,b=0;

unichar c;

for(i=0;i<n;i++){

c=[s characterAtIndex:i];

if(isblank(c)){

b++;

}else if(isascii(c)){

a++;

}else{

l++;

}

}

if(a==0 && l==0) return 0;

return l+(int)ceilf((float)(a+b)/2.0);

}


参考js版本,java实现代码:

      /**
       * 新浪微博内容计数器
       *
       * @param s
       * @return
       */
      public static int sinaCountWord(String s) {
            int i, n = s.length(), l = 0, a = 0, b = 0;
 
            char c;
 
            for (i = 0; i < n; i++) {
 
                  c = s.charAt(i);
 
                  if (Character.isWhitespace(c)) {
 
                        b++;
 
                  } else if (c >= 0 && c <= 127) {
 
                        // } else if (!Character.isLetter(c)) {
                        a++;
 
                  } else {
                        l++;
 
                  }
 
            }
 
            if (a == 0 && l == 0)
                  return 0;
 
            return l + (int) Math.ceil((float) (a + b) / 2.0);
      }

 
参考文章链接:
两个判断方法原理是一样的,只不过一个实现的是用十进制判断,另一个是16进制
//这个判断实现的是,用数字来判断,就是16进制0x00的十进制值
if(ch>=127||ch<0)return false;
 
//这个判断实现的是,用字节比较16进制(0x00)内容
#define UTF8_ASCII(byte) (((unsigned char)(byte)>=0x00)&&((unsigned char)(byte)<=0x7F)) 
 
 

java 实现新浪微博内容计数器 Java问题通用解决代码的更多相关文章

  1. java统计中英文字数 Java问题通用解决代码

    http://yangchao20020.blog.163.com/blog/static/483822472011111635424751/   这个不适用于新浪微博字数的统计,结果有差别,若需要可 ...

  2. java清除所有微博短链接 Java问题通用解决代码

    java实现微博短链接清除,利用正则,目前只支持微博短链接格式为"http://域名/字母或数字8位以内"的链接格式,现在基本通用 如果链接有多个,返回结果中会有多出的空格,请注意 ...

  3. java计算时间差 Java问题通用解决代码

    java实现计算时间差     正式版:       /**        * 计算时间差,求出两者相隔的时间        *        * @param nowDate        *    ...

  4. java中按字节获得字符串长度的两种方法 Java问题通用解决代码

    jdk本身就自带获取字符串字节长度的api了,但字符串如果包含特殊符号或全半角符号或标点符号获取到的结果会有偏差,最好的证据就是新浪微博的字数统计了 // jdk自带的获取字节长度 //注意getBy ...

  5. java精确除法计算,四舍五入 Java问题通用解决代码

    主要用java.math.BigDecimal工具类实现,想要了解BigDecimal类可以看java api   正式版:        public static Double divide() ...

  6. java检测http请求的ip地址 Java问题通用解决代码

    以后再用到的话,至少能起个参考作用 java实现,struts2的Action中,依赖HttpServletRequest     package net.dookoo.web.action;   i ...

  7. java替换文本中所有的正则符号 Java问题通用解决代码

    开发时遇到一个需求,需要对一段文本中的所有正则符号进行转义,不然使用split分割方法分割文本的话无效,想到用替换来做,全部替换正则符号为转义后的符号   贴java实现代码:   1.测试版     ...

  8. Java除法结果带小数、进一法的实现 Java问题通用解决代码

    http://blog.csdn.net/windone0109/article/details/5355379进一法: 即省略的位上只要大于零都要进一位 :  四舍五入法: 即省略的位上小于五都要舍 ...

  9. java 根据生日计算年龄 Java问题通用解决代码

    根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算 ...

随机推荐

  1. Java进阶之路,技术要点

    宏观方面 一.JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究.您 ...

  2. J.U.C并发框架源码阅读(十七)ReentrantReadWriteLock

    基于版本jdk1.7.0_80 java.util.concurrent.locks.ReentrantReadWriteLock 代码如下 /* * ORACLE PROPRIETARY/CONFI ...

  3. (12)C#枚举,结构

    枚举 枚举类型是类似自定义的一个类,类里放着你自己定义的常量,关键字enum. enum Season{spring,summer,fall,winter} 想用这里的常量的话,首先把变量定义成 Se ...

  4. Python的扩展接口[0] -> VISA仪器控制

    VISA仪器控制 / VISA Instrument Control 1 VISA简介 / VISA Introduction VISA(Virtual Instrument Software Arc ...

  5. spark完整的数据倾斜解决方案

    1.数据倾斜的原理 2.数据倾斜的现象 3.数据倾斜的产生原因与定位 在执行shuffle操作的时候,大家都知道,我们之前讲解过shuffle的原理. 是按照key,来进行values的数据的输出.拉 ...

  6. spring jpa data笔记

    tomcat启动Maven项目的时候总抛出这样的错误: Error creating bean with name 'org.springframework.boot.autoconfigure.or ...

  7. kibana-Coordinate Map

    1. Visualize 添加图形 2. 选择图形类型  Coordinate Map 3. 选择索引 4. 设定成图的聚合字段 如果有数据,点击右上角的三角形,地图上就会有显示. 5. 保存图形

  8. Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里. 栈(stack):是一个先进后出的数据结构,通常用于保存方法( ...

  9. 关于spring.net的面向切面编程 (Aspect Oriented Programming with Spring.NET)-通知(Advice)API

    本文翻译自Spring.NET官方文档Version 1.3.2. 受限于个人知识水平,有些地方翻译可能不准确,但是我还是希望我的这些微薄的努力能为他人提供帮助. 侵删. 让我们看看 Spring.N ...

  10. UBIFS介绍 - MTD网站

    转:http://blog.csdn.net/kickxxx/article/details/6583463 目录(?)[-] Big red note Overview Scalabity Writ ...