精华内容
下载资源
问答
  • 最近在搞APK玩的时候遇到一个问题,java中String.length()函数计算中文字符时只做一个字符长度,但是在c语言中,当我通过recv函数来读取时,虽然字符长度可能少了,但是居然也能全部读出来,这个还真没搞懂,不过...

    最近在搞APK玩的时候遇到一个问题,java中String.length()函数计算中文字符时只算做一个字符长度,但是在c语言中,当我通过recv函数来读取时,虽然字符长度可能少了,但是居然也能全部读出来,这个还真没搞懂,不过问题的关键不在这,关键是C语言中的strlen()函数计算字符串长度时,由于是utf-8语言环境,中文是占三个字节的。所以长度不一致,导致服务端程序出错。我服务端是通过一个while循环来读取数据的,因为有遇到过数据比较大时,socket通道是分包发送的,一次性读取某个比较大的数据时,会发生丢数据的想象,虽然网上讲(协议接收到的数据可能大于buf的长度,所以 在这种情况下要调用几次recv函数才能把s的接收缓冲中的数据copy完。recv函数仅仅是copy数据,真正的接收数据是协议来完成的),但是我的buf长度足够大,还是会丢失,具体原因也没找到,总之,就多调用几回recv就ok了 。言归正传,解决客户端和服务端计算包含中文字符串长度不一致的问题,我在客户端通过计算字符串中包含的中文字符个数*2+String.length()的方就解决了。  方法网上很多。

    public int getChineseNum()     {           String regEx = "[\\u4e00-\\u9fa5]";           Pattern p = Pattern.compile(regEx);           Matcher m = p.matcher(s);           while(m.find())               count++;           return count;         }

    展开全文
  • JAVA算汉字真实长度

    千次阅读 2015-02-27 10:53:43
    通常判断字符串长度都是调用String类的length()方法,但是一个中文汉字的长度在计算机看来是2,如果直接调用length()的话,显示长度为1,。这个问题怎么解决呢? 其实很简单,在创建字符串的时候重新设置以下编码...

    通常判断字符串长度都是调用String类的length()方法,但是一个中文汉字的长度在计算机看来是2,如果直接调用length()的话,显示长度为1,。这个问题怎么解决呢?

    其实很简单,在创建字符串的时候重新设置以下编码方式就可以了,如:String str1 = new String(str.getBytes("GBK"),"iso-8859-1");

    展开全文
  • js和java中的length()判断字符串长度的方式不会考虑字符是汉字还是字母、数字、特殊字符,一个汉字也一个字符长度, 但是oracle中varchar2类型会把汉字当做两个字符长度,这就产生了分歧,我们在判断用户输入字符...

    js和java中的length()判断字符串长度的方式不会考虑字符是汉字还是字母、数字、特殊字符,一个汉字也算一个字符长度,

    但是oracle中varchar2类型会把汉字当做两个字符长度,这就产生了分歧,我们在判断用户输入字符串长度时就会产生问题。

    解决方法之一:把汉字统一转换成某一特殊字符,比如 “*”,用正则表达式筛选出汉字后,替换成两个星号,即:“**”

    java代码如下:

    String regex = "[\\u4e00-\\u9fa5]+";
    if(str.trim().replaceAll(regex, "**").length()>64){
        //do something
    }

    js代码如下:

    if(str.replace(/[^\x00-\xff]/g, "**").length)>100){
         //do something
    }

     

    展开全文
  • 这里的单词与语言无关,可以包括各种符号,比如“it’s”一个单词,长度为4。注意,行中可能出现连续的空格。 输入格式: 输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。 ...

    题目内容:
    你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it’s”算一个单词,长度为4。注意,行中可能出现连续的空格。
    输入格式:
    输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。
    输出格式:
    在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
    输入样例:
    It’s great to see you here.
    输出样例:
    4 5 2 3 3 4

    import java.util.Scanner;
    import java.util.StringTokenizer;
    
    public class LengthofWord {
    
    	public static void main(String[] args) {
    		Scanner in=new Scanner(System.in);
    		//读入输入行s
    		String s=in.nextLine();
    		//用分词器分开
    		StringTokenizer new_s= new StringTokenizer(s, " ");
    		while(new_s.hasMoreTokens())
    		{
    			String s2=new_s.nextToken();
    			//.结束长度减一 跳出循环(估计不加break也行,while里是false了接下来)
    			if(s2.endsWith(".")) {
    				System.out.print(s2.length()-1);
    				break;
    			}
    			System.out.print(s2.length()+" ");			
    		}
    
    	}
    
    }
    

    此题的思路用了
    StringTokenizer的用法及示例
    @xuchaofu
    关于StringTokenizer的知识点
    在这里插入图片描述

    展开全文
  • Java 中字符串以 Unicode 方式编码的, 其长度通常计算的是字符数,一个中文也一个字符:public static void main(String[] args) {String fileName = "中文English,12345";//中文、英文、标点、数字都一个字符...
  • Java 中字符串以 Unicode 方式编码的, 其长度通常计算的是字符数,一个中文也一个字符: public static void main(String[] args) { String fileName = "中文English,12345";//中文、英文、标点、数字都一个...
  • 记某一次刷题: 计算下字符串的长度,哦哦简单嘛,然后一写 int len=str.length; 咦?怎么报错了,那再加上**()括号**试试把 int len=str.length(); 编译通过了,好的,下次...了,那再试试没有括号的把 int lengt
  • Java 中字符串以 Unicode 方式编码的, 其长度通常计算的是字符数,一个中文也一个字符。 MySql中varchar(n)类型字段,n所表示的也是字符数,并非字节数,所以字段可以插入<=n个字符。一个字符占用多少字节取...
  • (一)区别: ...①length:用于出数组的长度。 ②length():用于找出字符串的长度。 ③size():用于找出泛型集合的元素个数。 转载于:https://www.cnblogs.com/not-alone/p/8631342.html...
  • /*** 截取指定长度的字符串,中文2个长度,若过长,返回xxx...,否则返回原串* @param s Original String.* @param max Max length.* @return Left part of string.*/public static String left(String s, int max...
  • 数组没有 length()方法(数组类似于java中定义的一个基本数据类型,其不是类自然没有方法),有 length 的属性(严格来说甚至不上属性)。 String 是字符串类,有 length()方法。 JavaScript 中,获得字符串的长度...
  • 回复:String中如果有中文,如何保证length()返回的长度Java 中字符串是以 Unicode 方式编码的,所以,无论中英文都长度为 1。根据你的描述,估计是想要取得英文长度为 1 中文长度为2 的总长度吧。这个,理论上...
  • mysql里面的有length和char_length两个长度函数,区别在于: length: 一个汉字是三个字符,一个数字或字母一个字符。 char_length: 不管汉字还是数字或者是字母都算是一个字符。 如: select length('...
  • public static String length(String value, int lenght) {int valueLength = 0;String chinese = "[\u0391-\uFFE5]";int tc=1;int s =0;String str="";/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2...
  •  表示时,由于全角字宽度是半角字的两倍,而String.length()是不区分全半角的,所以不适用。 这时就想到SHIFT_JIS,由于SHIFT_JIS编码的半角字用一个字节存储,全角字用两个字节存储,所以SHIFT_JIS字节码的个数 ...
  • import java.io..../*** 中英文截取指定长度的字符* 一个中文两个字符,保证不会出乱码* 截取最终长度length,或length-1* @author luodongfu* @place hangzhou*/public class TestChinese { publi...
  • 如何将一个整型数字的位数出,在java语言中。 Scanner scanner =new Scanner(System.in); int a=scanner.nextInt(); System.out.println((a+"").length());将数字转化为字符串,将字符串的长度算出...
  • 计算字符串长度 In Java 取字符数量 一个汉字1个字符。 int len = s.length();   JavaDoc class String 写道 public int length() Returns the length of this string. The length is equal to .....
  • package changYongLei; public class length_String {...// length() 返回此字符串的长度。----int System.out.println(s1.length());//空格也一个字符 // isEmpty() 当且仅当 length() 为 0 时返回 true。-----b
  • java String类

    2019-12-17 17:16:09
    注意:求数组长度,是 length 属性,求字符串长度的是length()方法; java String类 1.创建String对象的方法: 2.String中的常用方法: //定义一个字符串"JAVA 编程 基础" String str="JAVA 编程 基础...
  • length:计算字段的长度,一个汉字3个字符,一个数字或者字母按1个字符 char_length:计算字段的长度,不论是汉字、数字还是字母,均按1个字符来Java: Java length() 方法用于返回字符串的长...
  • javascript string length

    2009-06-22 14:57:47
    以前知道用js求字符串长度的时候,中英文要单独处理。今天看书,看到这么一段: [code="java"]var so = new String("hello world"); alert(so.length);// outputs "11"[/code] 上面输出11.[color=red]”注意:...
  • java-面试题3

    2017-07-28 15:31:13
    /** * Java语言中可以使用直接量“字符序列”的方式创建字符串 ... * 使用Java中的String类的length方法计算字符串的长度,无论中文还是英文都1个长度。另外,在Java中,字符在内存里采用的是Unicode编
  • @Length,@MaxLength,@MinLengthmaxLength,minLength只有value属性,表示和value进行比较min和max是Length的属性汉字一个长度@NotBlank、@NotNull、@NotEmptyNotBlank:Check if the string representation is ...
  • <property name="name" type="java.lang.String"> <column name="NAME" length="40" not-...比如我在数据库里定义name的长度是50,在映射文件里面写的40,那最后这个length是按照哪个来的,并且这个length...
  • java开源验证框架OVAL

    2020-04-04 11:55:06
    @Length,@MaxLength,@MinLength maxLength,minLength只有value属性,表示和value...汉字一个长度 @NotBlank、@NotNull、@NotEmpty NotBlank:Check if the string representation is not empty and d...
  • Java基础Map

    2018-11-04 14:35:41
    对元素增加时,先对元素的key进行hash,得到一个哈希值,哈希值根据数组的长度算出数组的下标hashCode%length。当多个元素得到同一个数组下标时,为了解决冲突,HashMap在数组后面增加了链表,这样相同hashcode的值...
  • HashMap使用过程中,如果数据量加大,最好指定初始容量,以免不必要的rehash开销影响执行效率了,下面我们一起来看几个例子HashMap中底层数据的长度总是2的n次方在某个...(length-1)能够高效的出hash值。/*** Retu...

空空如也

空空如也

1 2 3 4
收藏数 70
精华内容 28
关键字:

java算length长度

java 订阅