本文为转载,转载地址:http://www.blogjava.net/nokiaguy/archive/2010/04/11/317982.html

由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,如果是汉字或其他全角字符,Ascii会大于255。因此,可以编写如下的方法来获得以字节为单位的字符串长度。

  public int getWordCount(String s){int length = 0;for(int i = 0; i < s.length(); i++){int ascii = Character.codePointAt(s, i);if(ascii >= 0 && ascii <=255)length++;elselength += 2;}return length;}

当然,也可以采用正则表达式来简化上面的方法,代码如下:

  public  int getWordCount(String s){s = s.replaceAll("[^\\x00-\\xff]", "**");int length = s.length();return length;}

上面代码的基本原理是将字符串中所有的非标准字符(双字节字符)替换成两个标准字符(**,或其他的也可以)。这样就可以直接例用length方法获得字符串的字节长度了。

在Java中按字节获得字符串长度的两种方法相关推荐

  1. java中char类型转换成int类型的两种方法

    java中char类型转换成int类型的两种方法 方法一: 第一种利用Integer包装类的方法Integer.parseInt Copychar ch = '9'; if (Character.is ...

  2. C++求字符串长度的两种方法

    针对于string类型的,可以采用strlen 针对于wstring类型的,可以采用_tcslen方法 实例代码: //字符串测试Unicode和ansi void strControl() {std ...

  3. (转)Shell中获取字符串长度的七种方法

    Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...

  4. Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下 有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前S ...

  5. java中domain什么意思_java解析URL中domain、端口和协议的两种方法

    java解析URL中domain.端口和协议的两种方法 Java代码 收藏代码 @Test public void parseDomain() throws IOException { for (in ...

  6. java中n次方怎么表示_n次方_word中输入N次方的符号的两种方法

    为了打编程题的题目,而题目里面有X²,但我不懂,只好去网上查了,经过我的多方查找,最后总结了一下几种方法.下面一起和学习啦小编来学习一下输入N次方的符号吧,希望对你有帮助! 输入N次方的符号方法一 1 ...

  7. 在Java中实现SFTP协议文件传输的两种解决方案

    在Java中实现SFTP协议文件传输的两种解决方案 1.1 背景 1.2 关于 FTP /FTPS 1.3 关于SFTP 解决方案一:使用 JSch 库 解决方案二:使用sshj 库 这篇博文来聊聊在 ...

  8. mysql中逗号前的字符串_MySql逗号拼接字符串查询的两种方法

    下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5 ...

  9. python获取绝对路径_python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworki ...

  10. python字符串成熟编码_python字符串转公式两种方法获取网页编码python版

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...

最新文章

  1. 五子棋c语言策划书活动内容,五子棋比赛策划书
  2. 网管日志-06.07.21
  3. TP v5中环境变量在项目中的应用
  4. Windows下C/C++获取当前系统时间
  5. VMware中虚拟机与主机不能ping通解决办法
  6. asp.net core 自定义基于 HttpContext 的 Serilog Enricher
  7. 同步方法 调用异步防范_.NET Web应用中为什么要使用async/await异步编程?
  8. [css] 在页面中的应该使用奇数还是偶数的字体?为什么呢?
  9. Linux下apache与tomcat完美整合笔记
  10. 【树莓派搭建个人网站】花生壳内网穿透
  11. iOS开发UI篇—控制器的创建
  12. 线性代数及其应用(第三版)1.3节习题解答
  13. 主引導记录(MBR)
  14. 【微服务】微服务架构图
  15. goland 注释模板_【精品】金工实习心得体会模板合集5篇
  16. docker修改nginx容器主页内容信息【还能这样操作?】
  17. 2020研究洞察:新消费品牌的8大增长驱动力
  18. linux命令返回结果保存到文件,Linux终端运行命令及结果同时保存入文件方法总结...
  19. python常用的表达式有关系表达式_数学关系式 表示成正确的 Python表达式为_________。_学小易找答案...
  20. IT信息订阅 RSS源列表

热门文章

  1. 机器学习十大算法!入门看这个就够了~
  2. 短视频SEO优化教程 自媒体SEO优化技巧方法
  3. SQL Server 2014如何导出数据库
  4. 浅谈Java垃圾回收
  5. mindoc mysql_mindoc
  6. python绘图——坐标轴
  7. Idea打包jar 及jar包反编译为代码的多种方法
  8. kindle阅读订阅的google reader时,词典不能工作的修正
  9. php 事件流转,php46公文流转
  10. 数据结构 将两个有序的链表合并为一个新链表