估计这个题目应该不陌生,最近开发项目遇到按照字节数截取字符串的问题,由于中文跟英文单个字符长度不同故很容易出现问题,按照一贯的作风,在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# 按照字节长度截取字符串,可以截取任意字节长度得字符串,使用了一点正则表达式。
java编写一个截取字符串的函数,输入为一个字符串和字节数
主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
最近需要用到按字节数截取字符串。在网上找了很多方法。 Encoding.Default.GetString采用的Default Encoding.UTF8.GetBytes采用的是utf-8编码。这样当然是乱码。尤其出现中文时候。 对这类数据处理当然要用统一的...
实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...
关于java按字节截取带有汉字的字符串的解法.不错的一个程序。我也是从高手那拿来的,觉得不错,传上来给感兴趣的朋友学习学习。
一般截取字符串是按照字符截取的,现在这个代码是按照字节截取字符
字符串按照指定的字节数来截取
Java 按照字节来截取字符串的工具,不会出现半个汉字。一个中文两个字节,一个英文字符只占 1 个字节** 1. 通常我们用于前端显示的时候,防止标题过长
按字节长度截取字符串(支持截取带HTML代码样式的字符串) ,补全不完整的HTML代码
用SQL语句截取字符串, string substr ( string string, int start [, int length]) 参数1:处理字符串 参数2:截取的起始位置(第一个字符是从0开始) 参数3:截取的字符数量
asp.net c# String类添加按字节截取字符串的扩展方法
NULL 博文链接:https://tim-fly.iteye.com/blog/1313915
字符串截取,按字节截取字符串,截取字符串帮助类
7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉...
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
本文实例讲述了Go语言按字节截取字符串的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:// 按字节截取字符串 utf-8不乱码 func SubstrByByte(str string, length int) string { bs := []byte(str)[:...
asp.net截取字符串方法 使用字节精确计算 计算空格 直接复制使用 简单
下面小编就为大家带来一篇java按字节截取带有汉字的字符串的解法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
截取字符串“java程序教程”的前5个字节,字符串应该为“java程”,截取前6个字符,字符串也应该为“java程”,程序实现。