`
忘忧鸟
  • 浏览: 145472 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java用字节数截取字符串【原创】

    博客分类:
  • Java
阅读更多

      估计这个题目应该不陌生,最近开发项目遇到按照字节数截取字符串的问题,由于中文跟英文单个字符长度不同故很容易出现问题,按照一贯的作风,在www.baidu.com搜索一下,果真有很多答案,结果找来找去,没发现一个满意的答案,都存在一些问题;最后结合网上的思路,自己修改并完善。代码如下:

public class SplitStr {
 
 private String splitStr;
 private int splitByte;
 
 public SplitStr(String splitStr,int splitByte) {
  this.splitByte = splitByte;
  this.splitStr = splitStr;
 }
 
 public void splitStrMethod() throws Exception{
  String resultStr = "";
  byte[] ArrOfByte = splitStr.getBytes();
  if(splitByte >= 1){
   int j = 0;
   for(int i = 0; i < splitByte; i++){
    if(ArrOfByte[i] < 0)
     j++ ;
   }
   if((j % 2 == 1) && (ArrOfByte[splitByte - 1] < 0)){
    resultStr = new String(ArrOfByte, 0, --splitByte,"gb2312");
   }else{
    resultStr = new String(ArrOfByte, 0, splitByte,"gb2312");
   }
   
   System.out.println(resultStr);
  }
 }

 public static void main(String[] args) throws Exception {
  String str = "Java用途很广";  

   //SplitStr s = new SplitStr(str,6);//Java用
  //SplitStr s = new SplitStr(str,7);//Java用
  SplitStr s = new SplitStr(str,8);//Java用途
  s.splitStrMethod();
 }

分享到:
评论

相关推荐

    C# 按照字节长度截取字符串

    在C#编程中,有时我们需要根据字节长度来截取字符串,这可能是因为要处理不同编码格式的数据,或者为了适应特定的传输限制。本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,...

    根据字节数截取字符串

    因此,如果我们想要根据字节数截取字符串,我们不能简单地用`substring()`,而是需要先计算字符串的字节数,然后根据这个字节数来定位截取的位置。 下面是一种可能的实现方式: 1. 使用`getBytes()`方法转换字符串...

    JAVA如何按字节截取字符串

    由于计算机内部存储和处理的都是二进制数据,对于非英文字符,在不同的编码(如UTF-8、GBK)下占用的字节数是不同的,因此直接按字符截取往往不能满足需求。本文旨在介绍如何利用Java语言按照字节截取字符串,并给出...

    java编写一个截取字符串的函数,输入为一个字符串和字节数.docx

    在 `SplitIt` 方法中,我们首先计算需要截取的 loop 数,然后使用 `for` 循环来截取指定字节的字符串。在循环中,我们使用 `substring` 方法来截取字符串,并将结果输出。 main 方法 在 `main` 方法中,我们创建了...

    关于java按字节截取带有汉字的字符串的解法

    在Java编程语言中,处理带有汉字的字符串时,由于汉字占据多个字节,按照字节进行截取可能会导致汉字被不完整地分割,从而产生乱码。为了解决这个问题,我们需要理解Unicode编码以及如何在Java中正确处理多字节字符...

    字符串按照指定的字节数来截取

    字符串是由字符组成的序列,而“字符串按照指定的字节数来截取”这个话题,就是指如何在字符串中提取固定字节数的部分。在不同的编程语言中,都有相应的函数或方法来实现这一功能。 在Python中,可以使用内置的`...

    asp.net c# String类添加按字节截取字符串的扩展方法

    这个方法将接收一个整型参数`length`,表示要截取的字节数,并返回一个新的字符串,该字符串是从原字符串中按照指定字节数截取的结果。 #### 方法实现细节 下面展示了`bSubstring`扩展方法的具体实现: ```csharp...

    C#(.net)中按字节数截取字符串最后出现乱码问题的解决

    最近需要用到按字节数截取字符串。在网上找了很多方法。 Encoding.Default.GetString采用的Default Encoding.UTF8.GetBytes采用的是utf-8编码。这样当然是乱码。尤其出现中文时候。 对这类数据处理当然要用统一的...

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...

    JAVA 按照字节截取字符串

    一般截取字符串是按照字符截取的,现在这个代码是按照字节截取字符

    Java精确截取字符串.doc

    在Java编程中,有时我们需要对字符串进行精确截取,特别是在处理中文字符时,由于中文字符在内存中通常以双字节形式存储,因此简单的按照字符数截取可能会导致汉字被分割,影响显示效果。这个问题在文档标题“Java...

    Java 按照字节来截取字符串的代码(不会出现半个汉字)

    在Java编程中,有时我们需要按照字节长度来截取字符串,尤其在处理中文字符时,因为一个中文字符在UTF-8编码下占用两个字节,而一个英文字符仅占用一个字节。这样的需求通常出现在前端展示限制或者传输数据时,避免...

    按byte截取字符串

    在某些场景下,我们可能需要按照特定的字节数来截取字符串,比如在网络传输、数据解析或编码转换时。本篇文章将详细探讨“按byte截取字符串”这一技术点,并通过两个Java文件——SliceByByteTest.java和SliceByByte....

    字符串截取(按字节)

    当我们在编程中处理字符串时,如果只是简单地按字节数进行截取,可能会遇到问题,尤其是处理多字节字符时。例如,在UTF-16中,一个汉字通常占用两个字节。如果截取操作不考虑这一点,就可能截断一个字符,导致乱码。...

    按字节长度截取字符串(支持截取带HTML代码样式的字符串)

    首先,理解为什么需要按照字节长度而不是字符长度截取字符串。在处理非ASCII字符(如中文、日文等)时,一个字符可能占用多个字节。如果单纯按字符长度截取,可能会导致截取到半字符,从而破坏字符串的读取。因此,...

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    java中截取带汉字的字符串

    如果字符串长度不能被每次截取的字节数整除,则最后一次截取的长度会少于指定的字节数。 3. **实现截取逻辑**:遍历字符串,按照计算出的次数进行截取,并打印或存储每次截取的结果。 #### 示例代码解析 ```java ...

    JAVA按字节截取字符串(适用于Unicode)

    7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉...

    java按字节截取带有汉字的字符串的解法(推荐)

    在Java编程语言中,处理包含汉字的字符串时,由于汉字在不同编码格式下占用的字节数不同,按字节截取字符串会面临特殊挑战。本文将深入探讨如何正确地按字节截取带有汉字的字符串,以确保不出现半字符或者乱码的情况...

    delphi 实现截取字符串中中文+英文混合截取

    这个函数`SafeSubstring`接收字符串S、起始字节位置StartByte和截取的字节数LenBytes,返回一个从指定字节位置开始,长度为LenBytes字节的新字符串。注意,这个函数假设输入的都是有效的字节位置,没有进行边界检查...

Global site tag (gtag.js) - Google Analytics