`
dengminhui
  • 浏览: 167927 次
  • 来自: ...
社区版块
存档分类
最新评论

验证字符串长度

阅读更多

String的getBytes()方法是得到一个字串的字节数组,这是众所周知的。但特别要注意的是,本方法将返回该操作系统默认的编码格式的字节数组。如果你在使用这个方法时不考虑到这一点,你会发现在一个平台上运行良好的系统,放到另外一台机器后会产生意想不到的问题。

String s = "Hello!你好!";    

System.out.println(s.getBytes().length);

在中文操作系统中返回结果可能为12,而在英文操作系统下为9.这是由于在中文操作系统中,getBytes方法返回的是一个GBK或者GB2312的中文编码的字节数组,其中中文字符,各占两个字节。而在英文平台中,一般的默认编码是“ISO-8859-1”,每个字符都只取一个字节(而不管是否非拉丁字符)。

解决方案为:

使用Unicode编码测试每个位置上的字符,从而区分出英文和中文,再统一计数。

1验证toHexString长度

public int byteLength(String string) {   
    int count = 0;   
    for (int i = 0; i < string.length(); i++) {   
     if (Integer.toHexString(string.charAt(i)).length() == 4) {   
      count += 2;   
     } else {   
      count++;   
     }   
    }   
    return count;   
   }   
  
 

  
  

2验证该位ASCII码是否大于255

public int byteLength(String string) {   
     int count = 0;   
     for (int i = 0; i < string.length(); i++) {   
      if (string.codePointAt(i)>255) {   
       count += 2;   
      } else {   
       count++;   
      }   
     }   
     return count;   
    } 

 

 
3 getBytes()指定编码方式

public int byteLength(String string) throws UnsupportedEncodingException {   
     int count = 0;   
     return string.getBytes("GBK").length;
    } 

 

  
  

分享到:
评论

相关推荐

    字符串长度的判断 JAVA

    以下将详细讲解如何在Java中进行字符串长度的判断以及如何截取字符串。 首先,创建一个字符串对象通常使用`String`类的构造函数或者双引号括起来的字符串字面量。例如: ```java String panduan = "你好"; ``` 在...

    使用MATLAB进行字符串数组长度计算(附详细步骤).txt

    本文将详细介绍如何使用MATLAB来计算字符串数组中每个字符串的长度,并找出其中最长的字符串长度。这不仅有助于理解MATLAB中的基本字符串操作,而且还能提高对文本数据处理的能力。 #### 二、基础知识介绍 在开始...

    PHP 计算字符串长度

    下面我们将深入探讨这个函数以及与字符串长度计算相关的知识点。 ### strlen()函数 `strlen()`是PHP的核心函数之一,它返回给定字符串的长度,以字符数计。例如: ```php $str = "Hello, World!"; echo strlen($...

    JavaScript 中关于字符串字节长度的计算比较(含汉字字符串)

    JavaScript 中关于字符串字节长度的计算比较(含汉字字符串) 可用于验证字符串长度。效率比较高。

    验证js处理字符串函数

    例如,`"hello".length`将返回5,这在验证字符串长度时非常有用。 2. `charAt(index)`:此方法返回指定位置的字符。例如,`"hello".charAt(0)`将返回`"h"`,用于获取或检查字符串中的特定字符。 3. `indexOf...

    字符串、字符和正则表达式

    处理字符时,应避免超出范围的索引访问,即确保索引值在0到字符串长度减1之间,否则会抛出`IndexOutOfRangeException`异常(常见编程错误12.1)。 正则表达式是一种强大的文本模式匹配工具,用于搜索、替换和验证...

    求字符串长度的函数.rar

    在Python编程语言中,求字符串长度是一个非常基础且常见的操作。这个操作可以帮助我们了解字符串包含多少个字符,这对于数据处理、文本分析以及各种字符串相关的算法都至关重要。标题"求字符串长度的函数.rar"和描述...

    使用js验证填写的字符是否符合长度

    ### 使用JavaScript验证字符串长度 #### 一、核心概念与目的 在本例中,主要关注的是通过JavaScript对用户输入的姓名进行长度验证,以确保其既不过长也不包含非法字符。这在实际应用中十分常见,如注册表单、个人...

    OJ_将数组中的字符串按指定长度重新分割

    标题“OJ_将数组中的字符串按指定长度重新分割”涉及的是一个在线编程挑战(OJ,Online Judge)的问题,其核心是处理...在这个过程中,我们需要处理可能出现的特殊情况,如字符串长度小于目标长度、数组为空等情况。

    设置字符串每行固定长度

    如果字符串长度超过固定长度,我们可以在固定长度的位置将其截断,并在后面添加换行符。以下是一个简单的例子: ```csharp public static string FormatStringWithFixedLength(string input, int maxLength) { if ...

    验证字符长度

    对于每个匹配到的字符,将被替换为两个星号 `"**"`,这样就可以通过 `.length` 属性来正确计算包含中文字符的字符串长度。 ```javascript var length = obj.value.replace(/[^\x00-\xff]/g, "**").length; ``` ...

    统计字符串中子字符串出现的次数,并返回

    在上面的简单实现中,如果子字符串长度较小,每次查找可能都会遍历大部分父字符串,效率较低。为提高效率,可以考虑使用滑动窗口或KMP(Knuth-Morris-Pratt)算法等高级算法,它们可以在平均时间复杂度上达到线性...

    十六进制字符串至普通转化_十六进制字符串转普通字符串_labview十六进制_

    在实际应用中,可能还需要考虑输入验证、错误处理以及优化性能等问题,例如,当输入的十六进制字符串长度不是偶数时的处理,或者大量数据转换时的效率问题。 总结来说,LabVIEW中的十六进制字符串到普通字符串的...

    TIA博途-字符转换为字符串以及截取字符串有效字符的具体方法示例.docx

    在处理通信数据时,我们经常需要对字符和字符串进行操作,例如将字符转换为字符串,或者从字符串中截取有效字符。以下将详细介绍在TIA博途中如何实现这些操作。 首先,字符转换为字符串的过程通常涉及到ASCII码。...

    C# 表单验证,验证表单

    该方法用于验证字符串长度是否在特定范围内(如6到16个字符之间)。 ```csharp public static bool IsLong(string syllable) { if (!IsNull(syllable)) { // 继续进行长度验证 } } ``` ### 4. 总结 以上方法...

    字典排序-算法分析(第三版)1.2

    - 验证字符串长度是否超过6个字符; - 使用`Judgementchar`函数验证字符串是否为升序。 3. **编码计算**: - 对于长度小于等于1的字符串,直接使用其第一个字符的ASCII值减去96得到编码; - 对于长度大于1的字符...

    解决PHP字符串长度不一致的问题

    字符串长度不一致的问题是编程中常见的一种问题,特别是在使用不同编码格式处理字符串时。PHP作为一种广泛使用的服务器端脚本语言,其字符串处理功能强大但有时也会出现一些问题。字符串长度不一致可能是由于编码...

    [JAVA]二进制字符串转十进制带异常抛出

    3. 验证字符串长度,防止数值超出整型范围。 4. 可以自定义异常信息,提高错误处理的可读性。 通过理解和应用这些知识点,你可以创建一个健壮的二进制字符串到十进制数值的转换函数,同时妥善处理可能出现的异常...

    以太坊solidity字符串拼接实现

    因此,在进行字符串拼接时应当谨慎,并对输入进行适当的验证和限制。 除了上述提到的几种实现字符串拼接的方法外,Solidity还推荐了一种新的字节拼接方式。自Solidity 0.6.0版本以来,我们可以使用`bytes.concat`...

    js如何判断输入字符串长度

    js判断输入字符串长度(汉字算两个字符,字母数字算一个) 文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。 废话不多说上代码: &lt;html&gt; &lt;head&gt; &lt;title&gt;js判断输入...

Global site tag (gtag.js) - Google Analytics