业务场景:Oracle数据字符集UTF-8,字段类型为VARCHAR2(2000)。当插入字符串的字节长度超过2000时,就会报错,使用subString(0,2000)当字符串包含中文时,也会报错,又不能直接只截取1000长度。所以需要一个根据字节长度来截取字符串的方法。 下面提供一下 ...
业务场景:Oracle数据字符集UTF-8,字段类型为VARCHAR2(2000)。当插入字符串的字节长度超过2000时,就会报错,使用subString(0,2000)当字符串包含中文时,也会报错,又不能直接只截取1000长度。所以需要一个根据字节长度来截取字符串的方法。 下面提供一下 ...
...
默认的截取字符串都是根据字符长度或位置截取的,典型的两个方法是substr和substring。 这样导致的问题是截取同样长度的字符串时,多字节字符(汉字等)和单字节字符(半角英文字母、半角数字)占的位置长度差距较大,视觉上不太美观,比如同样是10个字符: /* * param ...
import java.io.UnsupportedEncodingException;import org.springframework.util.StringUtils; public class CutString{ /** *判断是否是一个中文汉字 *@param c 字符 ...
解析:上面这个方法将汉字默认为2个字节,其他为1个字节,缺点是遇到UTF-8等编码格式的时候不能用,经过代码验证"UTF-8"是默认一个汉字占3个字节。 结果:--str1.length=62----Byte长度=105-------str2=一百二十个字符怎么就那么难弄呢我该说 ...
做为一个前端开发人员在网页展示中经常会碰到,标题过长,需要截取字符串,用CSS的实现的话各种兼容问题,各种坑。 让后台程序截一下,又各种推托,让后台按字节截一下更是和要了后台老命一样,最后可能只会安字符长度给你截一下,最后不好看,对不齐,还是回头整CSS、调兼容; 有以上有感触的前端同学 ...
/// <summary> /// 按指定(字节)长度截取字符串 /// </summary> /// <param name="str">源字符串</param> ...