public List<String> subStr(String str, int subBytes) {
List<String> s = new ArrayList<String>();
int bytes = 0; // 用来存储字符串的总字节数
int j = 0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c < 256) {
bytes += 1; // 英文字符的字节数看作1
} else {
bytes += 2; // 中文字符的字节数看作2
}
if(bytes==subBytes){
s.add(str.substring(j,i+1));
j=i+1;
bytes=0;
}else if(bytes-subBytes==1){
s.add(str.substring(j, i));
j=i;
i--;
bytes=0;
}else if(str.length()-1==i&&bytes<subBytes){
s.add(str.substring(j,i));
}
}
return s;
}
分享到:
相关推荐
在C#编程中,有时我们需要根据字节长度来截取字符串,这可能是因为要处理不同编码格式的数据,或者为了适应特定的传输限制。本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,...
在ASP.NET C#开发环境中,处理字符串是一项常见且重要的任务,尤其是在需要对字符串进行精确控制的情况下,如按字节截取字符串。本文将详细介绍如何为C#中的`String`类添加一个扩展方法,该方法允许我们按照字节而非...
### 字符串截取按字节:深入解析与实践 在计算机编程中,字符串处理是一项基本而关键的任务,尤其在处理非英文字符时,如何精确地按照字节进行字符串截取变得尤为重要。本文将深入探讨一种按字节截取字符串的方法,...
由于计算机内部存储和处理的都是二进制数据,对于非英文字符,在不同的编码(如UTF-8、GBK)下占用的字节数是不同的,因此直接按字符截取往往不能满足需求。本文旨在介绍如何利用Java语言按照字节截取字符串,并给出...
本文实例讲述了Go语言按字节截取字符串的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:// 按字节截取字符串 utf-8不乱码 func SubstrByByte(str string, length int) string { bs := []byte(str)[:...
实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...
在Java编程语言中,处理带有汉字的字符串时,由于汉字占据多个字节,按照字节进行截取可能会导致汉字被不完整地分割,从而产生乱码。为了解决这个问题,我们需要理解Unicode编码以及如何在Java中正确处理多字节字符...
如果要考虑字节,我们需要使用`encode()`方法将字符串转化为字节串,因为Python的切片默认是基于字符的。例如: ```python s = "你好,世界" byte_s = s.encode('utf-8') # 将字符串转为UTF-8编码的字节串 ...
总结来说,“按byte截取字符串”是一项实用的技术,涉及到字符串编码、字节数组操作以及对Java语言特性的深入理解。在实际开发中,掌握这项技能对于处理与字节流相关的任务至关重要,尤其是在处理网络数据传输、文件...
在IT行业中,处理字符串是常见...总的来说,按字节长度截取带有HTML代码的字符串是一个需要细心处理的问题,需要考虑到编码、HTML结构和潜在的不完整标签。通过自定义函数或使用第三方库,我们可以有效地解决这个问题。
标题“根据字节数截取字符串”涉及的核心概念是字符串截取,这通常在处理有限的显示空间、传输限制或者存储容量时变得尤为重要。本话题将深入探讨如何在Java语言中根据字节数来截取字符串,并结合给出的`SplitString...
一般截取字符串是按照字符截取的,现在这个代码是按照字节截取字符
7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉...
Java 字符串截取函数 ...本例中,我们实现了一个 Java 字符串截取函数,该函数可以截取指定字节的字符串,并保证汉字不被截半个。该函数使用 `substring` 方法来实现字符串截取,并且可以应用于各种字符串处理场景。
最近需要用到按字节数截取字符串。在网上找了很多方法。 Encoding.Default.GetString采用的Default Encoding.UTF8.GetBytes采用的是utf-8编码。这样当然是乱码。尤其出现中文时候。 对这类数据处理当然要用统一的...
这个函数`SafeSubstring`接收字符串S、起始字节位置StartByte和截取的字节数LenBytes,返回一个从指定字节位置开始,长度为LenBytes字节的新字符串。注意,这个函数假设输入的都是有效的字节位置,没有进行边界检查...
int iCnt = 0; int i_index; int i_len; System.Text.StringBuilder strRet = new System.Text.StringBuilder(); i_len = strVal.Length; byte[] chrbyte;... System.Text.Encoding encoding = System.Text....
在Java编程语言中,处理包含汉字的字符串时,由于汉字在不同编码格式下占用的字节数不同,按字节截取字符串会面临特殊挑战。本文将深入探讨如何正确地按字节截取带有汉字的字符串,以确保不出现半字符或者乱码的情况...
在处理通信数据时,我们经常需要对字符和字符串进行操作,例如将字符转换为字符串,或者从字符串中截取有效字符。以下将详细介绍在TIA博途中如何实现这些操作。 首先,字符转换为字符串的过程通常涉及到ASCII码。...
在ASP.NET开发中,有时我们需要对字符串进行截取操作,特别是当涉及到多字节字符(如中文)时,简单的字符串截取可能会导致乱码问题。本文将详细介绍一种使用字节精确计算的ASP.NET字符串截取方法,并通过具体的代码...