import java.io.UnsupportedEncodingException;
/**
* 字符串工具类
* @author happyqing
* @since 2013.11.6
*/
public class StringUtil {
/**
* 返回中英文字符串的字节长度
*
* @param str
* @return
*/
public static int getLength(String str) {
try {
return str.getBytes("UTF-8").length; // 一个中文占3个字节。
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
/**
* 返回中英文字符串的字节长度
*
* @param str
* @return
*/
public static int getStrLength(String str) {
if (str == null || str.length() == 0) {
return 0;
}
int len = 0;
for (int i=0; i<str.length(); i++ ) {
//UTF-8编码格式中文占三个字节,GBK编码格式 中文占两个字节 ;
len += (str.charAt(i)>255 ? 3 : 1);
}
return len;
}
/**
* 按字节截取字符串
* @param str
* @param bytes
* @return
*/
public static String subStringByBytes(String str, int bytes) {
if (str == null || str.length() == 0) {
return str;
}
int len = 0;
for (int i=0; i<str.length(); i++ ) {
//GBK 编码格式 中文占两个字节 UTF-8 编码格式中文占三个字节;
len += (str.charAt(i)>255 ? 3 : 1);
if(len>bytes){
return str.substring(0,i);
}
}
return str;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println("中文a".getBytes("UTF-8").length); // 7
System.out.println(StringUtil.getStrLength("中文a")); // 7
System.out.println("中文a".length()); // 3
System.out.println(subStringByBytes("中文a",4)); //中
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
JS按字节计算字符串长度,按字节截取字符串
http://happyqing.iteye.com/blog/1979816
相关推荐
C# 按照字节长度截取字符串,可以截取任意字节长度得字符串,使用了一点正则表达式。
主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
字符串截取,按字节截取字符串,截取字符串帮助类
关于java按字节截取带有汉字的字符串的解法.不错的一个程序。我也是从高手那拿来的,觉得不错,传上来给感兴趣的朋友学习学习。
asp.net c# String类添加按字节截取字符串的扩展方法
一般截取字符串是按照字符截取的,现在这个代码是按照字节截取字符
7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉...
js计算字符串长度,可以输入中文、英文、数字、中英文数字混合等,最后计算结果为字符串所占字节个数
按字节长度截取字符串(支持截取带HTML代码样式的字符串) ,补全不完整的HTML代码
本文实例讲述了Go语言按字节截取字符串的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:// 按字节截取字符串 utf-8不乱码 func SubstrByByte(str string, length int) string { bs := []byte(str)[:...
C#字符串截取固定长度的方法
下面小编就为大家带来一篇java按字节截取带有汉字的字符串的解法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java编写一个截取字符串的函数,输入为一个字符串和字节数
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
1、 当字符串全部为单字节字符时,则可以用SubString方法截取指定长度即可。 2、 当字符串全部为双字节字符时,则只需要用SubString方法截取指定长度的一半 3、 当字符串为单字节双字节混合时,则我们可以用折中这样...
实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回...要求按字节截取,一个英文字符当一个字节,一个中文字符当两个字节.
字符串按照指定的字节数来截取
截取字符串“java程序教程”的前5个字节,字符串应该为“java程”,截取前6个字符,字符串也应该为“java程”,程序实现。
字节变成字符串
截取含有中英文的字符串,按字节进行截取,当出现汉字时不能截取半个汉字要把汉字补全。